View a markdown version of this page

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

Einführung

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 und 5.500 GET/HEAD Anforderungen pro Sekunde pro Präfix in einem Bucket erfüllen. 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 Lesevorgänge parallelisieren. 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.

So prüfen etwa manche Data-Lake-Anwendungen in Simple Storage Service (Amazon S3) viele Millionen oder Milliarden von Objekten auf Abfragen, 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 Amazon S3 Transfer Acceleration. Transfer Acceleration verwendet die weltweit verteilten Edge-Standorte in CloudFront zur Beschleunigung des Datentransports über geographische Entfernungen hinweg.

Wenn Ihr Workload für Simple Storage Service (Amazon S3) die serverseitige Verschlüsselung über AWS Key Management Service (SSE-KMS) verwendet, finden Sie unter AWS KMS-Limits im AWS Key Management Service-Entwicklerhandbuch Informationen zu den für Ihren Anwendungsfall unterstützten Anfrageraten.

Die folgenden Themen beschreiben bewährte Verfahren und Designmuster zur Optimierung der Leistung von Anwendungen, die Amazon S3 verwenden.

Diese Anleitungen ersetzen alle vorherigen Anleitungen zur Optimierung der Leistung für Amazon S3. Zum Beispiel empfahlen Leistungsanleitungen für Amazon S3 früher, die Präfixbenennung mit gehashten Zeichen zu randomisieren, um die Leistung für häufige Datenabrufe zu optimieren. Sie müssen Präfixbenennungen nicht mehr für Leistung randomisieren und können sequenzielle datumsbasierte Benennungen für Ihre Präfixe verwenden. Die aktuellsten Informationen zur Leistungsoptimierung bei Simple Storage Service (Amazon S3) finden Sie in den Leistungsrichtlinien und Leistungsdesignmustern.