Especificações de desempenho
O S3 Files escala automaticamente throughput e IOPS para que correspondam à workload, sem exigir provisionamento nem gerenciamento de capacidade. Esta página descreve as características de desempenho do S3 Files.
Resumo do desempenho
| Agregar throughput de leitura por sistema de arquivos | Até terabytes por segundo |
| Agregar throughput de gravação por sistema de arquivos | 1-5 GiB/s |
| Máximo de IOPS de leitura por bucket do S3 com o S3 Files | Não há limite (anexe vários sistemas de arquivos ao mesmo bucket) |
| Máximo de IOPS de gravação por bucket do S3 com o S3 Files | Não há limite (anexe vários sistemas de arquivos ao mesmo bucket) |
| Máximo de IOPS de leitura por sistema de arquivos | 250.000 |
| Máximo de IOPS de gravação por sistema de arquivos | 50.000 |
| Throughput máximo de leitura por cliente | 3 GiB/s |
Como o S3 Files oferece desempenho
O S3 Files fornece dados de dois níveis de armazenamento e encaminha automaticamente cada operação ao nível mais adequado para ela.
Armazenamento de alta performance: camada de armazenamento de baixa latência no sistema de arquivos na qual residem os dados e metadados de arquivos usados ativamente. O S3 Files gerencia automaticamente esse armazenamento, copiando os dados para ele quando os arquivos são acessados e removendo os dados que não foram lidos de acordo com uma janela de expiração configurável. Você paga uma taxa de armazenamento pelos dados que residem no armazenamento de alta performance.
Direto do S3 — O S3 Files transmite leituras de arquivo diretamente do seu bucket do S3 em dois casos: quando os dados do arquivo não estão armazenados no armazenamento de alto desempenho do sistema de arquivos e para leituras grandes >= 1 MiB, mesmo quando os dados também residem no armazenamento de alto desempenho do sistema de arquivos. O bucket do S3 é otimizado para oferecer alto throughput, enquanto a camada de armazenamento de alta performance do sistema de arquivos é otimizada para oferecer acesso de baixa latência. Essa abordagem de hierarquização para transmitir dados leituras diretamente do bucket do S3 oferece alto throughput para leituras sequenciais, o que a torna adequada para analytics, processamento de mídia e outras workloads de streaming. O S3 Files importa de forma assíncrona dados de arquivos pequenos (< 128 KiB, por padrão) para o armazenamento de alta performance do sistema de arquivos para oferecer acesso de baixa latência em leituras subsequentes.
Como o S3 Files aplica automaticamente esse modelo de dois níveis, não é necessário escolher entre latência e throughput. Workloads de arquivos pequenos obtêm desempenho do sistema de arquivos. Workloads de arquivos grandes obtêm throughput do S3. Workloads mistas obtêm ambos.
Desempenho de leitura
O throughput de leitura escala de acordo com o número de instâncias de computação conectadas e o grau de paralelismo em cada instância. O throughput máximo de leitura por cliente é 3 GiB/s. O S3 Files comporta até terabytes por segundo de throughput de leitura agregado e até 250 mil IOPS de leitura por sistema de arquivos.
Desempenho de gravação
As gravações vão para o armazenamento de alta performance e tornam-se duráveis imediatamente. Dependendo da região, o S3 Files comporta de 1 a 5 GiB/s de throughput de gravação agregado e até 50 mil IOPS de gravação por sistema de arquivos. O desempenho de gravação escala de forma elástica de acordo com a atividade da workload.
Quando um arquivo no sistema de arquivos é modificado, o S3 Files espera aproximadamente 60 segundos, agregando todas as alterações sucessivas no arquivo nesse período, para só então copiá-las para o bucket do S3. Isso significa que gravações rápidas e sucessivas no mesmo arquivo são capturadas em uma única solicitação PUT do S3, em vez de gerar uma nova versão do objeto para cada alteração individual, o que reduz os custos de solicitação do S3 e os custos de armazenamento. Se você continuar modificando o arquivo depois que o S3 Files copiar suas alterações de volta para o bucket do S3, ele copiará as alterações subsequentes conforme necessário.
Latência do primeiro acesso
Na primeira vez em que você acessa um diretório, o S3 Files importa metadados de todos os arquivos desse diretório e, dependendo da configuração de importação, dados de arquivos pequenos. Portanto, o acesso inicial leva mais tempo do que as operações subsequentes. Após a importação, todas as listagens de diretórios e o acesso a arquivos subsequentes retornam com baixa latência.
Desempenho de sincronização
O S3 Files sincroniza as alterações entre o sistema de arquivos e o bucket do S3 em segundo plano.
Importação de alterações do S3: quando outra aplicação adiciona ou modifica um objeto no bucket do S3, o S3 Files reproduz a alteração no sistema de arquivos normalmente em questão de segundos. O S3 Files processa até 2,4 mil alterações de objetos por segundo por sistema de arquivos, com um throughput de dados de importação de até 700 megabytes por segundo.
Exportação de alterações para o S3: quando um arquivo é gravado por meio do sistema de arquivos, o S3 Files agrupa as alterações em lote por aproximadamente 60 segundos para consolidar gravações rápidas e sucessivas em uma única versão de objeto do S3, reduzindo os custos de solicitação e versão de armazenamento do S3. Após a janela de agrupamento em lote, o S3 Files copia o arquivo para o bucket do S3. O S3 Files exporta até 800 arquivos por segundo por sistema de arquivos, com um throughput de dados de exportação de até 2,7 mil megabytes por segundo.
| Métrica operacional | Valor | Unidade |
|---|---|---|
| IOPS de importação de buckets do S3 | 2.400 | objetos por segundo por sistema de arquivos |
| Throughput de importação de buckets do S3 | 700 | megabytes por segundo |
| IOPS de exportação para buckets do S3 | 800 | arquivos por segundo por sistema de arquivos |
| Throughput de exportação para buckets do S3 | 2.700 | megabytes por segundo |
O Amazon S3 usa uma estrutura de armazenamento não hierárquica na qual os objetos são identificados pelo nome das respectivas chaves. Embora o S3 Files permita organizar os dados em diretórios, o S3 não tem um conceito nativo de diretórios. O que aparece como um diretório no sistema de arquivos é um prefixo comum compartilhado pelas chaves dos objetos no bucket do S3. Além disso, os objetos do S3 são imutáveis e não permitem renomeações atômicas. Por isso, quando um arquivo é renomeado ou movido, o S3 Files precisa gravar os dados em um novo objeto com a chave atualizada e excluir o original. Quando um diretório e renomeado ou movido, o S3 Files precisa repetir esse processo para cada objeto que compartilha esse prefixo. Portanto, quando você renomeia ou move um diretório que contém dezenas de milhões de arquivos, os custos de solicitação do S3 e o tempo de sincronização aumentam significativamente. A renomeação de um diretório de 100 mil arquivos leva alguns minutos para ser totalmente reproduzida no bucket do S3, embora a renomeação seja imediata no sistema de arquivos. Para obter mais informações, consulte Noções básicas sobre o impacto das operações de renomeação e movimentação.
Se a workload gerar alterações a uma velocidade acima da taxa de sincronização, o S3 Files enfileirará as alterações e as processará em ordem. É possível monitorar a contagem de exportações pendentes usando a métrica PendingExports do CloudWatch. Para obter mais informações, consulte Monitorar o S3 Files com o Amazon CloudWatch.
Monitorar o desempenho
É possível monitorar o desempenho do sistema de arquivos usando o Amazon CloudWatch. O S3 Files publica métricas, como DataReadBytes, DataWriteBytes, MetadataReadBytes e MetadataWriteBytes, que podem ser usadas para monitorar throughput e IOPS ao longo do tempo. Para obter mais informações, consulte Monitorar o S3 Files com o Amazon CloudWatch.