Modelli di progettazione delle best practice: ottimizzazione delle prestazioni di Amazon S3 - Amazon Simple Storage Service

Modelli di progettazione delle best practice: ottimizzazione delle prestazioni di Amazon S3

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.500 richieste PUT/COPY/POST/DELETE o 5.500 richieste GET/HEAD al secondo per prefisso partizionato in un bucket. Non esistono limiti al numero di prefissi in un bucket. Puoi migliorare le prestazioni in lettura o scrittura utilizzando la parallelizzazione. 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. Allo stesso modo, è possibile ridimensionare le operazioni di scrittura scrivendo su più prefissi. Per ulteriori informazioni sulla creazione e sull'utilizzo dei prefissi, consulta Organizzazione degli oggetti utilizzando i prefissi.

Alcune applicazioni di data lake in Amazon S3 analizzano 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, utilizza Configurazione di trasferimenti veloci e sicuri di file con 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 Limiti di AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service 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. Per le informazioni più aggiornate sull'ottimizzazione delle prestazioni per Amazon S3, consulta Linee guida sulle prestazioni per Amazon S3 e Schemi di progettazione per le prestazioni di Amazon S3.