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.
Leistungsrichtlinien und Entwurfsmuster für S3 Express One Zone
Bei der Entwicklung von Anwendungen, die Objekte zu Amazon S3 Express One Zone hochladen und daraus abrufen, sollten Sie unsere bewährten Methoden befolgen, um die Leistung zu optimieren. Um die Speicherklasse S3 Express One Zone zu verwenden, müssen Sie einen S3-Verzeichnis-Bucket erstellen. Die Speicherklasse S3 Express One Zone wird für die Verwendung mit S3-Allzweck-Buckets nicht unterstützt.
Leistungsrichtlinien für alle anderen Amazon-S3-Speicherklassen und S3-Allzweck-Buckets finden Sie unter Bewährte Methoden für Designmuster: Optimieren der Leistung von Amazon S3.
Zur Erzielung der besten Leistung für Ihre Anwendung bei Verwendung der Speicherklasse S3 Express One Zone und von Verzeichnis-Buckets empfehlen wir die folgenden Vorgehensweisen und Designmuster.
Themen
- Platzieren Sie den S3 Express One Zone-Speicher gemeinsam mit Ihren Rechenressourcen AWS
- Verzeichnis-Buckets
- Parallelisierung horizontaler Skalierungsanforderungen für verzeichnis-Buckets
- Verwenden der sitzungsbasierten Authentifizierung
- Bewährte Methoden für zusätzliche S3-Prüfsummen
- Verwenden Sie die neueste Version der AWS SDKs und der gängigen Runtime-Bibliotheken
- Fehlerbehebung bei der Leistung
Platzieren Sie den S3 Express One Zone-Speicher gemeinsam mit Ihren Rechenressourcen AWS
Jeder Verzeichnis-Bucket wird in einer einzigen Availability Zone gespeichert, die Sie bei dessen Erstellung auswählen. Sie können damit beginnen, indem Sie neuen Verzeichnis-Bucket in einer Availability Zone erstellen, die für Ihre Computng-Workloads oder Ressourcen lokal ist. Sie können dann sofort mit Lese- und Schreibvorgängen mit sehr niedriger Latenz beginnen. Directory-Buckets sind die ersten S3-Buckets, in denen Sie die Availability Zone auswählen können, AWS-Region um die Latenz zwischen Datenverarbeitung und Speicher zu reduzieren.
Wenn Sie in verschiedenen Availability Zones auf Verzeichnis-Buckets zugreifen, erhöht sich die Latenz. Um die Leistung zu optimieren, empfehlen wir, dass Sie von Amazon Elastic Container Service-, Amazon Elastic Kubernetes Service- und Amazon Elastic Compute Cloud-Instances, die sich nach Möglichkeit in derselben Availability Zone befinden, auf einen Directory-Bucket zugreifen.
Verzeichnis-Buckets
Jeder Verzeichnis-Bucket kann Hunderttausende von Transaktionen pro Sekunde unterstützen ()TPS. Im Gegensatz zu Allzweck-Buckets organisieren Verzeichnis-Buckets Schlüssel hierarchisch in Verzeichnissen statt nach Präfixen. Ein Präfix ist eine Zeichenfolge am Anfang des Objektschlüsselnamens. Sie können sich Präfixe als eine Möglichkeit vorstellen, Ihre Daten ähnlich wie Verzeichnisse zu organisieren. Präfixe sind jedoch keine Verzeichnisse.
Präfixe organisieren Daten in einem flachen Namespace innerhalb von Allzweck-Buckets und die Anzahl der Präfixe in einem Allzweck-Bucket ist unbegrenzt. Mit jedem Präfix können mindestens 3.500PUT
//DELETE
oder 5.500 POST
GET
//HEAD
Anfragen pro Sekunde erreicht werden. Sie können Anfragen auch über mehrere Präfixe parallelisieren, um die Leistung zu skalieren. Die Skalierung erfolgt sowohl bei Lese- als auch bei Schreiboperationen schrittweise und nicht sofort. Allzweck-Buckets werden zwar auf Ihre neue höhere Anforderungsrate skaliert, Sie erhalten jedoch möglicherweise einige HTTP Statuscode-Fehler 503 (Service Unavailable).
Bei einem hierarchischen Namespace ist das Trennzeichen im Objektschlüssel wichtig. Das einzige unterstützte Trennzeichen ist der Schrägstrich (/
). Verzeichnisse werden durch Trennzeichengrenzen bestimmt. Beispielsweise führt der Objektschlüssel dir1/dir2/file1.txt
dazu, dass die Verzeichnisse dir1
/und dir2/
automatisch erstellt werden und das Objekt file1.txt
dem /dir2
-Verzeichnis im Pfad dir1/dir2/file1.txt
hinzugefügt wird.
Für die Verzeichnisse, die beim Hochladen von Objekten in Verzeichnis-Buckets erstellt werden, gibt es keine TPS Beschränkungen pro Präfix. Sie werden automatisch vorskaliert, um die Wahrscheinlichkeit von HTTP 503-Fehlern (Service Unavailable) zu verringern. Diese automatische Skalierung ermöglicht Ihren Anwendungen, Lese- und Schreibanforderungen innerhalb von Verzeichnissen und zwischen Verzeichnissen nach Bedarf zu parallelisieren.
Parallelisierung horizontaler Skalierungsanforderungen für verzeichnis-Buckets
Sie erreichen die beste Leistung durch die Ausgabe mehrerer gleichzeitiger Anfragen an Verzeichnis-Buckets zur Verteilung Ihrer Anforderungen auf separate Verbindungen und zur Maximierung der verfügbaren Bandbreite. S3Express One Zone hat keine Beschränkungen für die Anzahl der Verbindungen, die mit Ihrem Verzeichnis-Bucket hergestellt werden. Einzelne Verzeichnisse können die Leistung horizontal und automatisch skalieren, wenn eine große Anzahl gleichzeitiger Schreibvorgänge in dasselbe Verzeichnis stattfindet.
Wenn ein Objektschlüssel zum ersten Mal erstellt wird und sein Schlüsselname ein Verzeichnis enthält, wird das Verzeichnis automatisch für das Objekt erstellt. Bei nachfolgenden Objekt-Uploads in dasselbe Verzeichnis muss das Verzeichnis nicht erstellt werden, wodurch die Latenz beim Hochladen von Objekten in bestehende Verzeichnisse reduziert wird.
Obwohl sowohl flache als auch tiefe Verzeichnisstrukturen für das Speichern von Objekten in einem Verzeichnis-Bucket unterstützt werden, werden Verzeichnis-Buckets automatisch horizontal skaliert, wodurch die Latenz bei gleichzeitigen Uploads in dasselbe Verzeichnis oder in parallele „Verzeichnisgeschwister“ geringer ist.
Verwenden der sitzungsbasierten Authentifizierung
S3 Express One Zone und Verzeichnis-Buckets unterstützen einen neuen sitzungsbasierten Autorisierungsmechanismus zur Authentifizierung und Autorisierung von Anforderungen an einen Verzeichnis-Bucket. Bei der sitzungsbasierten Authentifizierung verwenden sie den CreateSession
API Vorgang AWS SDKs automatisch, um ein temporäres Sitzungstoken zu erstellen, das für die Autorisierung von Datenanforderungen an einen Verzeichnis-Bucket mit geringer Latenz verwendet werden kann.
AWS SDKsSie verwenden den CreateSession
API Vorgang, um temporäre Anmeldeinformationen anzufordern und anschließend automatisch alle 5 Minuten Token für Sie zu erstellen und zu aktualisieren. Um die Leistungsvorteile der Speicherklasse S3 Express One Zone zu nutzen, wurde empfohlen, die AWS SDKs zum Initiieren und Verwalten der CreateSession
API Anfrage zu verwenden. Weitere Informationen zu diesem sitzungsbasierten Modell finden Sie unter Autorisieren von zonalen API Endpunktoperationen mit CreateSession.
Bewährte Methoden für zusätzliche S3-Prüfsummen
S3 Express One Zone bietet Ihnen die Möglichkeit, den Prüfsummenalgorithmus auszuwählen, der zur Validierung Ihrer Daten beim Hoch- oder Herunterladen verwendet wird. Sie können einen der folgenden Algorithmen zur Prüfung der Datenintegrität zwischen Secure Hash Algorithms (SHA) oder Cyclic Redundancy Check (CRC) wählen:CRC32,CRC32C, SHA -1 und -256. SHA MD5Auf Prüfsummen basierende Prüfsummen werden von der S3 Express One Zone-Speicherklasse nicht unterstützt.
CRC32ist die Standardprüfsumme, die AWS SDKs bei der Übertragung von Daten zu oder von der S3 Express One Zone verwendet wird. Wir empfehlen die Verwendung von CRC32 und CRC32C für die beste Leistung mit der Speicherklasse S3 Express One Zone.
Verwenden Sie die neueste Version der AWS SDKs und der gängigen Runtime-Bibliotheken
Einige von ihnen bieten AWS SDKs auch die AWS Common Runtime (CRT) -Bibliotheken, um die Leistung von S3-Clients weiter zu beschleunigen. Dazu SDKs gehören die AWS SDK for Java 2.x AWS SDK for C++, die und die AWS SDK for Python (Boto3). Der S3-Client CRT auf Basis von S3 Express One Zone überträgt Objekte mit verbesserter Leistung und Zuverlässigkeit, indem er automatisch den mehrteiligen API Upload-Vorgang und Abrufe im Bytebereich verwendet, um Verbindungen mit horizontaler Skalierung zu automatisieren.
Um die höchste Leistung mit der S3 Express One Zone-Speicherklasse zu erzielen, empfehlen wir, die neueste Version von zu verwenden, die die CRT Bibliotheken enthält AWS SDKs, oder die () zu verwenden. AWS Command Line Interface AWS CLI
Fehlerbehebung bei der Leistung
Wiederholung von Anforderungen für latzenzsensitive Anwendungen
S3 Express One Zone wurde speziell für gleichbleibende Leistung ohne zusätzliche Anpassungen entwickelt. Die Festlegung aggressiver Timeout-Werte und Wiederholungsversuche kann jedoch weiter zu einer gleichbleibenden Latenz und Leistung beitragen. Sie AWS SDKs verfügen über konfigurierbare Timeout- und Wiederholungswerte, die Sie an die Toleranzen Ihrer spezifischen Anwendung anpassen können.
AWS Allgemeine Runtime (CRT) -Bibliotheken und Paarung von EC2 Amazon-Instance-Typen
Anwendungen, die eine große Anzahl von Lese- und Schreibvorgängen ausführen, benötigen wahrscheinlich mehr Arbeitsspeicher oder Computing-Kapazitäten als Anwendungen, bei denen dies nicht der Fall ist. Wenn Sie Ihre Amazon Elastic Compute Cloud (AmazonEC2) -Instances für Ihre leistungsintensive Arbeitslast starten, wählen Sie Instance-Typen aus, die über die Menge dieser Ressourcen verfügen, die Ihre Anwendung benötigt. S3 Express One Zone Hochleistungsspeicher lässt sich ideal mit größeren und neueren Instance-Typen kombinieren, die über mehr Systemspeicher verfügen und leistungsfähiger sind CPUs und GPUs die Vorteile von leistungsfähigerem Speicher nutzen können. Wir empfehlen außerdem, die neuesten Versionen von CRT -enabled zu verwenden AWS SDKs, wodurch Lese- und Schreibanforderungen besser parallel beschleunigt werden können.
Verwenden Sie die sitzungsbasierte Authentifizierung in AWS SDKs anstelle von HTTP REST APIs
Mit Amazon S3 können Sie auch die Leistung bei der Verwendung von HTTP REST API Anfragen optimieren, indem Sie dieselben bewährten Methoden befolgen, die Teil von sind AWS SDKs. Angesichts des sitzungsbasierten Autorisierungs- und Authentifizierungsmechanismus, der von S3 Express One Zone verwendet wird, empfehlen wir Ihnen jedoch dringend, das To-Manage-Sitzungstoken CreateSession
und das AWS SDKs zugehörige Sitzungstoken zu verwenden. Sie erstellen und aktualisieren mithilfe des Vorgangs AWS SDKs automatisch Token in Ihrem Namen. CreateSession
API Die Verwendung von AWS Identity and Access Management (IAM) CreateSession
spart die Round-Trip-Latenz pro Anfrage, um jede Anfrage zu autorisieren.