Bewährte Methoden für Designmuster: Optimieren der Leistung von Amazon S3 - Amazon Simple Storage Service

Bewährte Methoden für Designmuster: Optimieren der Leistung von Amazon S3

Ihre Anwendungen erreichen schnell Tausende von Transaktionen pro Sekunde bei der Anfrageleistung, wenn Speicherinhalte zu Amazon S3 hochgeladen oder von dort abgerufen werden. Amazon S3 wird automatisch auf hohe Anfrageraten skaliert. Ihre Anwendung kann beispielsweise mindestens 3 500 PUT/COPY/POST/DELETE- oder 5 500 GET/HEAD-Anforderungen pro Sekunde pro partitioniertem Amazon-S3-Präfix erreichen. Es gibt keine Einschränkungen für die Anzahl der Präfixe in einem Bucket. Sie können Ihre Lese- und Schreibleistung steigern, indem Sie Parallelisierung durchführen. Wenn Sie beispielsweise 10 Präfixe in einem Amazon-S3-Bucket für parallele Lesevorgänge einrichten, können Sie damit die Leseleistung auf 55 000 Leseanfragen pro Sekunde skalieren. Auf ähnliche Weise können Sie Schreibvorgänge skalieren, indem Sie auf mehrere Präfixe schreiben. Die Skalierung erfolgt sowohl bei Lese- als auch bei Schreibvorgängen schrittweise und nicht sofort, und die tatsächliche Leistung hängt von den spezifischen Merkmalen Ihres Workloads, Ihren Nutzungsmustern und Ihrer Systemkonfiguration ab. Während Amazon S3 auf Ihre neue höhere Anforderungsrate skaliert, können einige 503 (Slow Down)-Fehler auftreten. Diese Fehler werden nicht mehr angezeigt, sobald die Skalierung abgeschlossen ist. Weitere Informationen zum Erstellen und Verwenden von Präfixen finden Sie unter Organisieren von Objekten mit Präfixen.

So prüfen etwa manche Data-Lake-Anwendungen in Amazon S3 Millionen oder Milliarden von Objekten auf Anfragen, die über Petabytes von Daten ausgeführt werden. Solche Data-Lake-Anwendungen erreichen Single-Instance-Übertragungsraten, die die Netzwerkschnittstellennutzung für ihre Amazon EC2-Instance maximieren und bis zu 100 GB/s auf einer einzelnen Instance erreichen können. Anschließend aggregieren diese Anwendungen den Durchsatz über mehrere Instances hinweg, um mehrere Terabit pro Sekunde zu erreichen.

Andere Anwendungen sind latenzempfindlich, wie etwa Social-Media-Messaginganwendungen. Diese Anwendungen können konsistente Small Object-Latenzen (und First-byte-out-Latenzen für große Objekte) von etwa 100-200 Millisekunden erreichen.

Andere AWS-Services können auch dabei helfen, die Leistung für unterschiedliche Anwendungsarchitekturen zu beschleunigen. Wenn Sie beispielsweise höhere Übertragungsraten über eine einzelne HTTP-Verbindung oder Latenzzeiten im einstelligen Millisekundenbereich wünschen, verwenden Sie Amazon CloudFront oder Amazon ElastiCache für die Zwischenspeicherung mit Amazon S3.

Und wenn Sie eine schnelle Datenübertragung über große Distanzen zwischen einem Client und einem S3-Bucket wünschen, verwenden Sie Konfigurieren schneller, sicherer Dateiübertragungen mit Amazon S3 Transfer Acceleration. Transfer Acceleration verwendet die weltweit verteilten Edge-Standorte in CloudFront zur Beschleunigung des Datentransports über geographische Entfernungen hinweg. Wenn Ihr Amazon-S3-Workload serverseitige Verschlüsselung mit AWS KMS verwendet, finden Sie unter AWS KMS-Limits im AWS Key Management Service-Entwicklerhandbuch Informationen zu den für Ihren Anwendungsfall unterstützten Anforderungsraten.

Die folgenden Themen beschreiben bewährte Verfahren und Designmuster zur Optimierung der Leistung von Anwendungen, die Amazon S3 verwenden. Die neuesten Informationen zur Leistungsoptimierung für Amazon S3 finden Sie unter Anleitungen zur Leistung von Amazon S3 und Leistungsdesignmuster für Amazon S3.

Anmerkung

Weitere Informationen zur Verwendung der Speicherklasse Amazon S3 Express One Zone mit Verzeichnis-Buckets finden Sie unter S3 Express One Zone und Arbeiten mit Verzeichnis-Buckets.