EFSLeistung von Amazon - Amazon Elastic File System

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

EFSLeistung von Amazon

Die folgenden Abschnitte bieten einen Überblick über die EFS Leistung von Amazon und beschreiben, wie sich Ihre Dateisystemkonfiguration auf wichtige Leistungsdimensionen auswirkt. Wir bieten auch einige wichtige Tipps und Empfehlungen zur Optimierung der Leistung Ihres Dateisystems.

Zusammenfassung der Leistung

Die Dateisystemleistung wird in der Regel anhand der Dimensionen Latenz, Durchsatz und Eingabe-/Ausgabevorgänge pro Sekunde () IOPS gemessen. Die EFS Leistung von Amazon in diesen Dimensionen hängt von der Konfiguration Ihres Dateisystems ab. Die folgenden Konfigurationen wirken sich auf die Leistung eines EFS Amazon-Dateisystems aus:

  • Dateisystemtyp – Regional oder One Zone

  • Leistungsmodus – Allzweck oder Max. E/A

    Wichtig

    Der maximale E/A-Leistungsmodus hat höhere Latenzen pro Vorgang als der Allzweck-Leistungsmodus. Für eine schnellere Leistung empfehlen wir, immer den Allzweck-Leistungsmodus zu verwenden. Weitere Informationen finden Sie unter Leistungsmodi.

  • Durchsatzmodus – Elastic, Bereitgestellt oder Bursting

In der folgenden Tabelle sind die Leistungsspezifikationen für Dateisysteme, die den Allzweck-Leistungsmodus verwenden, sowie die möglichen unterschiedlichen Kombinationen von Dateisystemtyp und Durchsatzmodus aufgeführt.

Leistungsspezifikationen für Dateisysteme, die den Allzweck-Leistungsmodus verwenden
Konfiguration von Speicher und Durchsatz Latency Maximum: IOPS Maximaler Durchsatz

Dateisystemtyp

Durchsatzmodus

Lesevorgänge

Schreibvorgänge

Lesevorgänge

Schreibvorgänge

P er-file-system liest 1

P er-file-system schreibe 1

Lesen/Schreiben pro Client

Regional

Elastic

Nur 250 Mikrosekunden (µs)

Nur 2,7 Millisekunden (ms) 90.000—250.000 2 50 000

3—20 Gibibyte pro Sekunde () GiBps

1—5 GiBps

1.500 Mebibyte pro Sekunde (3) MiBps

Regional

Bereitgestellt

Nur 250 µs

So niedrig wie 2,7 ms 55.000 25,000

3—10 GiBps

1—3,33 GiBps

500 MiBps

Regional

Bursting

Nur 250 µs

So niedrig wie 2,7 ms 35 000 7.000

3—5 GiBps

1—3 GiBps

500 MiBps

One Zone

Elastisch, bereitgestellt, explosionsartig

Nur 250 µs

So niedrig wie 1,6 ms

35 000 7.000

3 GiBps 4

1 GiBps 4

500 MiBps
Anmerkung

Fußnoten:

  1. Der maximale Lese- und Schreibdurchsatz hängt von der AWS-Region ab. Ein Durchsatz, der den maximalen Durchsatz einer AWS-Regionüberschreitet, erfordert eine Erhöhung des Durchsatzkontingents. Jede Anfrage nach zusätzlichem Durchsatz wird vom EFS Amazon-Serviceteam auf case-by-case Basis geprüft. Die Genehmigung kann von Ihrer Art des Workloads abhängen. Weitere Informationen zum Anfordern einer Kontingenterhöhung finden Sie unter EFSAmazon-Kontingente.

  2. Dateisysteme, die Elastic Throughput verwenden, können maximal 90.000 Lesevorgänge IOPS für selten aufgerufene Daten und 250.000 Lesevorgänge für häufig aufgerufene Daten ermöglichen. Es IOPS gelten zusätzliche Empfehlungen, um den maximalen Wert zu erreichen. IOPS Weitere Informationen finden Sie unter Optimierung von Workloads, die einen hohen Durchsatz erfordern und IOPS.

  3. Der maximale kombinierte Lese- und Schreibdurchsatz beträgt 1.500 MiBps für Dateisysteme, die Elastic Throughput verwenden und mit Version 2.0 oder höher des EFS Amazon-Clients (amazon-efs-utils Version) oder des EFS CSI Amazon-Treibers (aws-efs-csi-driver) gemountet wurden. Für alle anderen Dateisysteme liegt das Durchsatzlimit bei 500 MiBps. Weitere Informationen zum EFS Amazon-Client finden Sie unter Installation von EFS Amazon-Tools

  4. One-Zone-Dateisysteme, die Bursting-Durchsatz verwenden, können den gleichen per-file-system Lese- und Schreibdurchsatz erzielen wie regionale Dateisysteme, die Bursting-Durchsatz verwenden (maximal 5 Lesevorgänge GiBps für Lese- und 3 GiBps Schreibvorgänge).

Speicherklassen

EFSAmazon-Speicherklassen sind je nach Anwendungsfall für die effektivste Speicherung konzipiert.

  • EFSDie Standard-Speicherklasse verwendet Solid-State-Drive-Speicher (SSD), um die geringste Latenz für Dateien zu gewährleisten, auf die häufig zugegriffen wird. Diese Speicherklasse bietet Latenzen im ersten Byte von nur 250 Mikrosekunden für Lesevorgänge und 2,7 Millisekunden für Schreibvorgänge.

  • EFSDie Speicherklassen Infrequent Access (IA) und EFS Archive speichern Daten, auf die seltener zugegriffen wird, für die nicht die Latenzleistung erforderlich ist, die bei häufig aufgerufenen Daten erforderlich ist. Diese Speicherklassen bieten Latenzen im ersten Byte von mehreren zehn Millisekunden.

Weitere Informationen zu EFS Speicherklassen finden Sie unterEFS-Speicherklassen.

Leistungsmodi

Amazon EFS bietet zwei Leistungsmodi an: General Purpose und Max I/O.

  • Der Allzweckmodus hat die niedrigste Latenz pro Vorgang und ist der Standard-Leistungsmodus für Dateisysteme. One-Zone-Dateisysteme verwenden immer den Allzweck-Leistungsmodus. Für eine schnellere Leistung empfehlen wir, immer den Allzweck-Leistungsmodus zu verwenden.

  • Der Modus Max. E/A ist ein Leistungstyp der vorherigen Generation, der für stark parallelisierte Workloads konzipiert wurde, die höhere Latenzen tolerieren können als der Allzweckmodus. Der Modus „Max. E/A“ wird von One-Zone-Dateisystemen oder Dateisystemen, die den Elastic-Durchsatzmodus verwenden, nicht unterstützt.

    Wichtig

    Aufgrund der höheren Latenzen pro Vorgang beim Modus „Max. E/A“ empfehlen wir, für alle Dateisysteme den Allzweckleistungsmodus zu verwenden.

Um sicherzustellen, dass Ihr Workload innerhalb der IOPS Grenzen bleibt, die für Dateisysteme verfügbar sind, die den allgemeinen Leistungsmodus verwenden, können Sie die PercentIOLimit CloudWatch Metrik überwachen. Weitere Informationen finden Sie unter CloudWatch Metriken für Amazon EFS.

Anwendungen können ihre Daten IOPS elastisch bis zu dem mit dem Leistungsmodus verbundenen Grenzwert skalieren. Sie werden Ihnen nicht separat in Rechnung gestelltIOPS; sie sind in der Durchsatzabrechnung eines Dateisystems enthalten. Jede Netzwerkdateisystem-Anforderung (NFS) wird als Durchsatz von 4 Kilobyte (KB) oder als tatsächliche Anfrage- und Antwortgröße berechnet, je nachdem, welcher Wert größer ist.

Durchsatzmodi

Der Durchsatzmodus eines Dateisystems bestimmt den Durchsatz, der Ihrem Dateisystem zur Verfügung steht. Amazon EFS bietet drei Durchsatzmodi: Elastic, Provisioned und Bursting. Der Lesedurchsatz wird reduziert, damit Sie einen höheren Lese- als Schreibdurchsatz erzielen können. Der maximale Durchsatz, der in jedem Durchsatzmodus verfügbar ist, hängt von der AWS-Region ab. Weitere Informationen zum maximalen Dateisystemdurchsatz in den verschiedenen Regionen finden Sie unter EFSAmazon-Kontingente.

Ihr Dateisystem kann zusammen einen Lese- und Schreibdurchsatz von 100 % erreichen. Wenn Ihr Dateisystem beispielsweise 33 % seines Limits für den Lesedurchsatz ausnutzt, kann das Dateisystem gleichzeitig bis zu 67 % seines Limits für den Schreibdurchsatz erreichen. Sie können die Durchsatzauslastung Ihres Dateisystems im Diagramm Durchsatzauslastung (%) auf der Seite mit den Dateisystemdetails der Konsole überwachen. Weitere Informationen finden Sie unter Überwachung der Durchsatzleistung.

Auswählen des richtigen Durchsatzmodus für ein Dateisystem

Die Wahl des richtigen Durchsatzmodus für Ihr Dateisystem hängt von den Leistungsanforderungen Ihres Workloads ab.

  • Elastischer Durchsatz (empfohlen) — Verwenden Sie den standardmäßigen Elastic Throughput, wenn Sie hohe oder unvorhersehbare Workloads und Leistungsanforderungen haben, die schwer vorherzusagen sind, oder wenn Ihre Anwendung den Durchsatz um 5% oder weniger steigert average-to-peak . Weitere Informationen finden Sie unter Elastischer Durchsatz.

  • Bereitgestellter Durchsatz — Verwenden Sie den bereitgestellten Durchsatz, wenn Sie die Leistungsanforderungen Ihres Workloads kennen oder wenn Ihre Anwendung den Durchsatz mit einem average-to-peak Verhältnis von 5% oder mehr steigert. Weitere Informationen finden Sie unter Bereitgestellter Durchsatz.

  • Bursting-Durchsatz — Verwenden Sie den Bursting-Durchsatz, wenn Sie einen Durchsatz wünschen, der mit der Speichermenge in Ihrem Dateisystem skaliert.

    Wenn Sie nach der Verwendung des Bursting-Durchsatzes feststellen, dass Ihre Anwendung durch den Durchsatz eingeschränkt ist (sie verwendet beispielsweise mehr als 80% des zulässigen Durchsatzes oder Sie haben alle Ihre Burst-Credits aufgebraucht), sollten Sie entweder Elastic oder Provisioned Throughput verwenden. Weitere Informationen finden Sie unter Bursting-Durchsatz.

Sie können Amazon verwenden CloudWatch , um das average-to-peak Verhältnis Ihrer Arbeitslast zu ermitteln, indem Sie die MeteredIOBytes Metrik mit der PermittedThroughput Metrik vergleichen. Weitere Informationen zu EFS Amazon-Metriken finden Sie unterCloudWatch Metriken für Amazon EFS.

Elastischer Durchsatz

Für Dateisysteme, die Elastic Throughput verwenden, skaliert Amazon die Durchsatzleistung EFS automatisch nach oben oder unten, um den Anforderungen Ihrer Workload-Aktivität gerecht zu werden. Elastischer Durchsatz ist der beste Durchsatzmodus für hohe oder unvorhersehbare Workloads mit Leistungsanforderungen, die schwer vorherzusagen sind, oder für Anwendungen, bei denen der Durchsatz im Durchschnitt bei 5% oder weniger des Spitzendurchsatzes liegt (das average-to-peak Verhältnis).

Da die Durchsatzleistung für Dateisysteme mit Elastic Throughput automatisch skaliert wird, müssen Sie die Durchsatzkapazität nicht spezifizieren oder bereitstellen, um Ihre Anwendungsanforderungen zu erfüllen. Sie zahlen nur für die Menge der gelesenen oder geschriebenen Metadaten und Daten, und Sie sammeln oder verbrauchen bei der Nutzung von Elastic Throughput keine zusätzlichen Credits.

Anmerkung

Elastic Throughput ist nur für Dateisysteme verfügbar, die den Performance-Modus für allgemeine Zwecke verwenden.

Informationen zu den Grenzwerten für den Elastic-Durchsatz pro Region finden Sie unterEFSAmazon-Kontingente, die Sie erhöhen können.

Bereitgestellter Durchsatz

Mit Provisioned Throughput geben Sie einen Durchsatz an, den das Dateisystem unabhängig von der Größe des Dateisystems oder dem Burst-Guthaben des Dateisystems erreichen kann. Verwenden Sie den bereitgestellten Durchsatz, wenn Sie die Leistungsanforderungen Ihres Workloads kennen oder wenn Ihre Anwendung den Durchsatz um 5% oder mehr des average-to-peak Verhältnisses erhöht.

Bei Dateisystemen, die den bereitgestellten Durchsatz verwenden, wird Ihnen der für das Dateisystem aktivierte Durchsatz in Rechnung gestellt. Der in einem Monat in Rechnung gestellte Durchsatzbetrag basiert auf dem bereitgestellten Durchsatz, der den in Ihrem Dateisystem enthaltenen Basisdurchsatz aus dem Standardspeicher übersteigt, bis zu den geltenden Limits für den Bursting-Basisdurchsatz in der AWS-Region.

Wenn der Basisdurchsatz des Dateisystems den bereitgestellten Durchsatz überschreitet, wird automatisch der für das Dateisystem zulässige Bursting-Durchsatz verwendet (bis zu den dort geltenden\ Bursting-Grenzwerten für den Basisdurchsatz). AWS-Region

Hinweise zu Grenzwerten pro RegionProvisioned Durchsatz finden Sie unter. EFSAmazon-Kontingente, die Sie erhöhen können

Bursting-Durchsatz

Ein Bursting-Durchsatz wird für Workloads empfohlen, bei denen ein Durchsatz erforderlich ist, der mit der Speichermenge in Ihrem Dateisystem skaliert. Beim Bursting-Durchsatz ist der Basisdurchsatz proportional zur Größe des Dateisystems in der Standard-Speicherklasse, und zwar mit einer Rate von 50 KiBps pro GiB Speicher. Burst-Guthaben fallen an, wenn das Dateisystem weniger als die Basisdurchsatzrate verbraucht, und werden abgezogen, wenn der Durchsatz die Basisrate überschreitet.

Wenn Burst-Credits verfügbar sind, kann ein Dateisystem einen Durchsatz von bis zu 100 MiBps pro TiB Speicher bis zum AWS-Region Limit (mindestens 100 MiBps) steigern. Wenn keine Burst-Credits verfügbar sind, kann ein Dateisystem bis zu 50 MiBps pro TiB Speicherplatz speichern, mindestens jedoch 1. MiBps

Informationen zum Bursting-Durchsatz pro Region finden Sie unter. General resource quotas that cannot be changed

Wissenswertes zu Amazon EFS Burst Credits

Beim Bursting-Durchsatz sammelt jedes Dateisystem im Laufe der Zeit Burst-Credits zu einer Basisrate, die von der Größe des Dateisystems bestimmt wird, das in der EFS Standard-Speicherklasse gespeichert ist. Die Basisrate beträgt 50 MiBps pro Tebibyte [TiB] Speicher (entspricht 50 KiBps pro GiB Speicher). Amazon EFS misst Lesevorgänge bis zu einem Drittel der Rate von Schreibvorgängen, sodass das Dateisystem eine Basisrate von bis zu 150 KiBps pro GiB Lesedurchsatz oder 50 KiBps pro GiB Schreibdurchsatz erreichen kann.

Ein Dateisystem kann den Durchsatz kontinuierlich mit seiner gemessenen Basisrate erhöhen. Ein Dateisystem sammelt immer dann Burst-Guthaben an, wenn es inaktiv ist oder den Durchsatz unter die gemessene Basisrate treibt. Gesammelte Burst-Gutschriften ermöglichen dem Dateisystem, den Durchsatz über die Grundrate hinaus zu erhöhen.

Beispielsweise hat ein Dateisystem mit 100 GiB an gemessenen Daten in der Standardspeicherklasse einen Basisdurchsatz von 5. MiBps Über einen Zeitraum von 24 Stunden Inaktivität erhält das Dateisystem Guthaben im Wert von 432.000 MiB (5 MiB × 86.400 Sekunden = 432.000 MiB), das verwendet werden kann, um 72 Minuten MiBps lang bei 100 zu bursten (432.000 MiB ÷100 = 72 Minuten). MiBps

Dateisysteme, die größer als 1 TiB sind, können stets für bis zu 50 % der Zeit ein Bursting ausführen, wenn sie über die verbleibenden 50 % der Zeit inaktiv sind.

Die folgende Tabelle enthält Beispiele für das Bursting-Verhalten.

Größe des Dateisystems Bursting-Durchsatz Basisdurchsatz
100 GiB gemessener Daten im Standardspeicher
  • Bis zu 72 Minuten pro Tag auf 300 () MiBps im Nur-Lese-Modus hochfahren oder

  • Bis zu 72 Minuten pro MiBps Tag im Burst-Modus auf 100 mit Schreibzugriff

  • Bis zu 15 MiBps Laufwerke können kontinuierlich nur gelesen werden

  • Bis zu 5 Laufwerke ununterbrochen mit Schreibzugriff MiBps

1 TiB gemessener Daten im Standardspeicher
  • Schnellzugriff auf 300 MiBps Schreibzugriff für 12 Stunden pro Tag, oder

  • Erhöhen Sie den Wert auf 100, wenn MiBps Sie nur 12 Stunden pro Tag schreiben

  • Drive 150 MiBps kann kontinuierlich nur gelesen werden

  • Laufwerk 50 MiBps ist kontinuierlich schreibgeschützt

10 TiB gemessener Daten im Standardspeicher
  • Burst 3 mit GiBps Schreibzugriff für 12 Stunden pro Tag, oder

  • 1 Burst-Modus mit GiBps Schreibzugriff für 12 Stunden pro Tag

  • Drive 1.5 durchgehend schreibgeschützt GiBps

  • Drive 500 MiBps ist kontinuierlich schreibgeschützt

Im Allgemeinen größere Dateisysteme
  • für 12 Stunden pro Tag auf 300 MiBps Nur-Lesevorgänge pro TiB Speicher hochfahren, oder

  • Steigen Sie auf 100 MiBps Schreibzugriff pro TiB Speicher für 12 Stunden pro Tag

  • Fahren Sie kontinuierlich 150 MiBps schreibgeschützte Laufwerke pro TiB Speicher

  • Führen Sie kontinuierlich 50 MiBps Nur-Lese-Schreibvorgänge pro TiB Speicher durch

Anmerkung

Amazon EFS bietet einen gemessenen Durchsatz von 1 MiBps für alle Dateisysteme, auch wenn die Basisrate niedriger ist.

Die zur Bestimmung der Baseline- und Burst-Rate verwendete Dateisystemgröße ist die ValueInStandard gemessene Größe, die während des DescribeFileSystems API Vorgangs verfügbar ist.

Dateisysteme unter 1 TiB können Gutschriften bis zu einer Höhe von maximal 2,1 TiB erwerben. Dateisysteme über 1 TiB können Gutschriften bis zu einer Höhe von 2,1 TiB pro gespeichertem TiB erwerben. Dieses Verhalten bedeutet, dass Dateisysteme genügend Guthaben ansammeln können, um ein kontinuierliches Bursting über bis zu 12 Stunden auszuführen.

Einschränkungen beim Umschalten des Durchsatzes und beim Ändern der bereitgestellten Menge

Sie können den Durchsatzmodus eines vorhandenen Dateisystems wechseln und die Durchsatzmenge ändern. Nach dem Umschalten des Durchsatzmodus auf Bereitgestellter Durchsatz oder der Änderung der Menge des bereitgestellten Durchsatzes sind die folgenden Aktionen jedoch für einen Zeitraum von 24 Stunden eingeschränkt:

  • Wechsel vom Modus „Bereitgestellter Durchsatz“ in den Durchsatzmodus „Elastic“ oder „Bursting“.

  • Verringerung der Menge des bereitgestellten Durchsatzes.

Tipps zur EFS Leistung von Amazon

Beachten Sie bei der Verwendung von Amazon EFS die folgenden Leistungstipps.

Durchschnittliche E/A-Größe

Der dezentrale Charakter von Amazon EFS ermöglicht ein hohes Maß an Verfügbarkeit, Haltbarkeit und Skalierbarkeit. Diese verteilte Architektur führt zu einer geringfügigen Latenz bei den einzelnen Dateivorgängen. Aufgrund dieser vorgangsbasierten Latenz wird der Gesamtdurchsatz im Allgemeinen erhöht, wenn die durchschnittliche E/A-Größe steigt, da der Overhead über eine größere Menge von Daten amortisiert wird.

Optimierung von Workloads, die einen hohen Durchsatz erfordern und IOPS

Verwenden Sie für Workloads, die einen hohen Durchsatz erfordernIOPS, regionale Dateisysteme, die mit dem allgemeinen Leistungsmodus und dem elastischen Durchsatz konfiguriert sind.

Anmerkung

Um das Maximum von 250.000 Lesevorgängen IOPS für Daten zu erreichen, auf die häufig zugegriffen wird, muss das Dateisystem Elastic Throughput verwenden.

Um ein Höchstmaß an Leistung zu erzielen, müssen Sie die Parallelisierung nutzen, indem Sie Ihre Anwendung oder Ihren Workload wie folgt konfigurieren.

  1. Verteilen Sie den Workload gleichmäßig auf alle Clients und Verzeichnisse, wobei die Anzahl der Verzeichnisse mindestens der Anzahl der verwendeten Clients entspricht.

  2. Minimieren Sie Konflikte, indem Sie einzelne Threads unterschiedlichen Datensätzen oder Dateien zuordnest.

  3. Verteilen Sie die Arbeitslast auf 10 oder mehr NFS Clients mit mindestens 64 Threads pro Client in einem einzigen Mount-Ziel.

Gleichzeitige Verbindungen

Sie können EFS Amazon-Dateisysteme auf bis zu Tausenden von Amazon EC2 - und anderen AWS Recheninstanzen gleichzeitig mounten. Sie können einen höheren Durchsatz in Ihrem Dateisystem über alle Datenverarbeitungs-Instances hinweg erzielen, wenn Sie Ihre Anwendung über mehrere Instances hinweg parallelisieren können.

Anforderungsmodell

Wenn Sie asynchrone Schreibvorgänge in Ihr Dateisystem aktivieren, werden ausstehende Schreibvorgänge auf der EC2 Amazon-Instance zwischengespeichert, bevor sie asynchron in Amazon EFS geschrieben werden. Asynchrone Schreibvorgänge besitzen in der Regel niedrigere Latenzen. Bei der Ausführung asynchroner Schreibvorgänge verwendet der Kernel zusätzlichen Speicher zum Zwischenspeichern.

Ein Dateisystem, das synchrone Schreibvorgänge aktiviert hat, oder eines, das Dateien mit einer Option öffnet, die den Cache umgeht (z. B.O_DIRECT), gibt synchrone Anfragen an Amazon aus. EFS Jeder Vorgang durchläuft einen Hin- und Rückweg zwischen dem Kunden und AmazonEFS.

Anmerkung

Das von Ihnen gewählte Anforderungsmodell weist Kompromisse in Bezug auf Konsistenz (wenn Sie mehrere EC2 Amazon-Instances verwenden) und Geschwindigkeit auf. Die Verwendung synchroner Schreibvorgänge sorgt für mehr Datenkonsistenz, da jede Schreibanforderungstransaktion abgeschlossen wird, bevor die nächste Anforderung verarbeitet wird. Durch die Verwendung asynchroner Schreibvorgänge wird der Durchsatz erhöht, da ausstehende Schreibvorgänge zwischengespeichert werden.

NFSEinstellungen für die Client-Montage

Überprüfen Sie, ob Sie die empfohlenen Mount-Optionen wie in EFSDateisysteme einhängen und Überlegungen zum Mounten für Linux beschrieben verwenden.

Beim Mounten Ihrer Dateisysteme auf EC2 Amazon-Instances EFS unterstützt Amazon die Protokolle Network File System Version 4.0 und 4.1 (NFSv4). NFSv4.1 bietet eine bessere Leistung für parallel Lesevorgänge kleiner Dateien (mehr als 10.000 Dateien pro Sekunde) im Vergleich zu NFSv4 .0 (weniger als 1.000 Dateien pro Sekunde). Für Amazon EC2 macOS-Instances, auf denen macOS Big Sur ausgeführt wird, wird nur NFSv4 2.0 unterstützt.

Verwenden Sie nicht die folgenden Mount-Optionen:

  • noac, actimeo=0, acregmax=0, acdirmax=0 – Diese Optionen deaktivieren den Attribut-Cache, was sich sehr negativ auf die Leistung auswirkt.

  • lookupcache=pos, lookupcache=none – Diese Optionen deaktivieren den Dateinamen-Nachschlage-Cache, was sich sehr negativ auf die Leistung auswirkt.

  • fsc— Diese Option aktiviert das lokale Zwischenspeichern von Dateien, ändert jedoch nichts an der NFS Cache-Kohärenz und verringert auch nicht die Latenzen.

Anmerkung

Wenn Sie Ihr Dateisystem mounten, sollten Sie erwägen, die Größe der Lese- und Schreibpuffer für Ihren NFS Client auf 1 MB zu erhöhen.

Optimierung der Leistung kleiner Dateien

Sie können die Leistung kleiner Dateien verbessern, indem Sie das erneute Öffnen von Dateien minimieren, die Parallelität erhöhen und Referenzdateien nach Möglichkeit bündeln.

  • Minimieren Sie die Anzahl der Roundtrips zum Server.

    Schließen Sie Dateien nicht unnötig, wenn Sie sie später in einem Workflow benötigen. Wenn Sie Dateideskriptoren geöffnet lassen, können Sie direkt auf die lokale Kopie im Cache zugreifen. Operationen zum Öffnen und Schließen von Dateien und zum Schließen von Metadaten können im Allgemeinen nicht asynchron oder über eine Pipeline ausgeführt werden.

    Beim Lesen oder Schreiben kleiner Dateien sind die beiden zusätzlichen Roundtrips von Bedeutung.

    Jeder Roundtrip (Datei öffnen, Datei schließen) kann genauso viel Zeit in Anspruch nehmen wie das Lesen oder Schreiben von Megabyte an Massendaten. Es ist effizienter, eine Eingabe- oder Ausgabedatei zu Beginn Ihres Datenverarbeitungsauftrag einmal zu öffnen und sie für die gesamte Dauer des Auftrags geöffnet zu lassen.

  • Verwenden Sie Parallelität, um die Auswirkungen von Roundtrip-Zeiten zu reduzieren.

  • Bündeln Sie Referenzdateien in einer .zip-Datei. Einige Anwendungen verwenden eine große Menge kleiner, meist schreibgeschützter Referenzdateien. Wenn Sie diese in einer .zip-Datei bündeln, können Sie viele Dateien in einem Roundtrip durch Öffnen und Schließen lesen.

    Das .zip-Format ermöglicht den wahllosen Zugriff auf einzelne Dateien.

Optimieren der Verzeichnisleistung

Wenn Sie eine Liste (ls) für sehr große Verzeichnisse (über 100.000 Dateien) ausführen, die gleichzeitig geändert werden, kann es vorkommen, dass NFS Linux-Clients hängen bleiben und keine Antwort zurückgeben. Dieses Problem wurde in Kernel 5.11 behoben, der auf die Amazon-Linux 2-Kernel 4.14, 5.4 und 5.10 portiert wurde.

Wir empfehlen, die Anzahl der Verzeichnisse in Ihrem Dateisystem möglichst auf weniger als 10 000 zu beschränken. Verwenden Sie so weit wie möglich verschachtelte Unterverzeichnisse.

Vermeiden Sie beim Auflisten eines Verzeichnisses die Angabe von Dateiattributen, wenn diese nicht erforderlich sind, da sie nicht im Verzeichnis selbst gespeichert sind.

Optimierung der Größe von read_ahead_kb NFS

Das NFS read_ahead_kb Attribut definiert die Anzahl der Kilobyte, die der Linux-Kernel bei einem sequentiellen Lesevorgang vorauslesen oder vorab abrufen soll.

Bei Linux-Kernel-Versionen vor 5.4.* wird der Wert read_ahead_kb durch Multiplikation von NFS_MAX_READAHEAD mit dem Wert für rsize (der vom Client konfigurierten Lesepuffergröße, die in den Mount-Optionen festgelegt wurde) festgelegt. Bei Verwendung der empfohlenen Mount-Optionen setzt diese Formel read_ahead_kb auf 15 MB.

Anmerkung

Ab den Linux-Kernel-Versionen 5.4.* verwendet der NFS Linux-Client einen Standardwert von 128 KB. read_ahead_kb Wir empfehlen, diesen Wert auf 15 MB zu erhöhen.

Der EFS Amazon-Mount-Helper, der in amazon-efs-utils Version 1.33.2 und höher verfügbar istrsize, ändert den read_ahead_kb Wert nach dem Mounten des Dateisystems automatisch auf 15 * oder 15 MB.

Wenn Sie bei Linux-Kernel 5.4 oder höher die Mountinghilfe nicht zum Mounten Ihrer Dateisysteme verwenden, sollten Sie erwägen, read_ahead_kb manuell auf 15 MB einzustellen, um die Leistung zu verbessern. Nach dem Mounten des Dateisystems können Sie den read_ahead_kb-Wert mithilfe des folgenden Befehls zurücksetzen. Ersetzen Sie die folgenden Werte, bevor Sie diesen Befehl verwenden:

  • Ersetzen Sie read-ahead-value-kb durch die gewünschte Größe in Kilobyte.

  • Ersetzen Sie efs-mount-point durch den Mountingpunkt des Dateisystems.

device_number=$(stat -c '%d' efs-mount-point) ((major = ($device_number & 0xFFF00) >> 8)) ((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00))) sudo bash -c "echo read-ahead-value-kb > /sys/class/bdi/$major:$minor/read_ahead_kb"

Im Folgenden wird beispielsweise die read_ahead_kb-Größe auf 1 MB festgelegt.

device_number=$(stat -c '%d' efs) ((major = ($device_number & 0xFFF00) >> 8)) ((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00))) sudo bash -c "echo 15000 > /sys/class/bdi/$major:$minor/read_ahead_kb"