

# Introdução
<a name="introduction"></a>

As aplicações podem executar facilmente milhares de transações por segundo em performance de solicitação ao fazer upload e recuperar armazenamento do Amazon S3. O Amazon S3 escala automaticamente para taxas de solicitações elevadas. Por exemplo, a aplicação pode atingir pelo menos solicitações 3.500 `PUT/COPY/POST/DELETE` e 5.500 `GET/HEAD` por segundo por prefixo em um bucket. Não há limite para o número de prefixos em um bucket. Você pode aumentar seu desempenho de leitura ou gravação paralelizando as leituras. Por exemplo, se você criar 10 prefixos em um bucket do Amazon S3 para paralelizar leituras, poderá escalar o desempenho de leitura para 55.000 solicitações de leitura por segundo. 

Por exemplo, algumas aplicações de data lake no Amazon S3 verificam vários milhões ou bilhões de objetos para consultas que são executadas em petabytes de dados. Essas aplicações de data lake atingem taxas de transferência de instância única que maximizam o uso da interface de rede para a instância do [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html), que podem ser de até 100 Gb/s em uma única instância. Esses aplicativos então agregam a taxa de transferência em várias instâncias para obter vários terabits por segundo. 

Outros aplicativos são sensíveis à latência, como aplicativos de mensagem de mídias sociais. Essas aplicações podem atingir latências consistentes de objetos pequenos (e latências de saída de primeiro byte para objetos maiores) de aproximadamente 100 a 200 milissegundos. 

Outros serviços da AWS também podem ajudar a acelerar o desempenho para diferentes arquiteturas de aplicativo. Por exemplo, para obter taxas de transferência mais altas em uma única conexão HTTP ou latências de um dígito de milissegundos, use o [Amazon CloudFront](https://docs.aws.amazon.com/cloudfront/index.html) ou o [Amazon ElastiCache](https://docs.aws.amazon.com/elasticache/index.html) para armazenar em cache com o Amazon S3. 

Além disso, se você quiser um transporte de dados rápido em longas distâncias entre um cliente e um bucket do S3, use o [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). O Transfer Acceleration usa os pontos de presença distribuídos globalmente no CloudFront para acelerar o transporte de dados em distâncias geográficas. 

Se a workload do Amazon S3 usa criptografia no lado do servidor com o AWS Key Management Service (SSE-KMS), consulte [Limites do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) no *Guia do desenvolvedor do AWS Key Management Service* para obter informações sobre as taxas de solicitações compatíveis com seu caso de uso. 

Os tópicos a seguir descrevem as diretrizes de melhores práticas e os padrões de design para otimizar a performance de aplicações que usam o Amazon S3. 

Essas diretrizes prevalecem sobre as diretrizes anteriores relacionadas à otimização da performance do Amazon S3. Por exemplo, as diretrizes anteriores de performance do Amazon S3 recomendavam a randomização da nomenclatura de prefixos com caracteres com hash para otimizar a performance de recuperações de dados frequentes. Não é mais necessário randomizar a nomeação de prefixos para o desempenho, e você pode usar nomeação sequencial baseada em datas para seus prefixos. Consulte as *Diretrizes de performance* e os *Padrões de design de performance* para obter as informações mais recentes sobre a otimização de performance para o Amazon S3. 