Introduzione
Le applicazioni possono facilmente raggiungere migliaia di transazioni al secondo come prestazioni delle richieste durante il caricamento e il recupero di risorse di storage da Amazon S3. Amazon S3 si ridimensiona automaticamente fino a tassi di richiesta elevati. Ad esempio, l'applicazione può raggiungere almeno 3.500PUT/COPY/POST/DELETE
e 5.500GET/HEAD
richieste al secondo per prefisso in un bucket. Non esistono limiti al numero di prefissi in un bucket. È possibile aumentare le proprie performance in lettura o scrittura parallelizzando le scritture. Ad esempio, se si creano 10 prefissi in un bucket Amazon S3 per parallelizzare le letture, è possibile scalare le prestazioni di lettura a 55.000 richieste di lettura al secondo.
Alcune applicazioni di data lake in Amazon S3 scansionano diversi milioni o miliardi di oggetti per query eseguite su diversi petabyte di dati. Queste applicazioni di data lake raggiungono tassi di trasferimento per singola istanza che massimizzano l'utilizzo dell'interfaccia di rete per l'istanza Amazon EC2, arrivando fino a 100 Gb/s su una singola istanza. Queste applicazioni poi aggregano throughput su più istanze per ottenere diversi terabit al secondo.
Altre applicazioni sono sensibili alla latenza, come le applicazioni di messaggistica sui social media. Tali applicazioni possono raggiungere latenze coerenti per oggetti di piccole dimensioni (e latenze al primo byte in uscita per oggetti più grandi) di circa 100-200 millisecondi.
Altri servizi AWS possono accelerare le prestazioni per diverse architetture dell'applicazione. Ad esempio, se desideri velocità di trasferimento più elevate su una singola connessione HTTP o latenze del valore di millisecondi a una cifra, utilizza Amazon CloudFront o Amazon ElastiCache per il caching con Amazon S3.
Inoltre, se desideri trasferimenti dei dati veloci su lunghe distanze tra un client e un bucket S3, usa Amazon S3 Transfer Acceleration. Transfer Acceleration utilizza le edge location distribuite a livello globale in CloudFront per accelerare il trasferimento dei dati su distanze geografiche.
Se il carico di lavoro di Amazon S3 utilizza la crittografia lato server con AWS Key Management Service (SSE-KMS), consulta la sezione AWS KMSLimiti nella AWS Key Management ServiceGuida per gli sviluppatori per informazioni sui tassi di richiesta supportati per il tuo caso d'uso.
Gli argomenti seguenti presentano le linee guida e i modelli di progettazione per le best practice per ottimizzare le prestazioni per le applicazioni che utilizzano Amazon S3.
Queste linee guida sostituiscono eventuali linee guida precedenti sull'ottimizzazione delle prestazioni per Amazon S3. Ad esempio, le linee guida per le prestazioni di Amazon S3 consigliavano in precedenza di utilizzare una denominazione casuale dei prefissi con caratteri con hash per ottimizzare le prestazioni per recuperi frequenti di dati. Ora non è più necessario scegliere in maniera casuale la denominazione dei prefissi per motivi di performance ed è possibile utilizzare denominazioni sequenziali basate sulla data. Consulta le linee guida sulle prestazioni e i modelli di progettazione delle prestazioni per le informazioni più aggiornate sull'ottimizzazione delle prestazioni per Amazon S3.