Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como soluciono problemas de velocidades lentas ou inconsistentes ao baixar ou fazer upload de dados de um cliente on-premises no Amazon S3?
Eu percebo uma latência quando faço o download ou upload de dados entre o Amazon Simple Storage Service (Amazon S3) e uma rede específica ou um cliente local.
Resolução
Para identificar e resolver a latência ao fazer o download ou o upload no Amazon S3, consulte as configurações a seguir.
A localização do cliente que faz as solicitações
É uma prática recomendada usar buckets do Amazon S3 que geograficamente estejam o mais próximos possível do seu cliente local. Quando o bucket está geograficamente distante da solicitação, o tempo de resposta é maior.
Para testar o efeito da distância geográfica entre o cliente e o bucket do S3, conclua as seguintes etapas:
- Execute uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na mesma região da AWS que o bucket.
- Execute outra instância em uma região diferente.
- Use as duas instâncias para fazer upload e baixar o mesmo arquivo.
- Compare o throughput entre as duas regiões.
Para diminuir a distância entre o cliente local e o bucket do S3, mova seus dados para um bucket em uma região mais próxima do cliente. É possível configurar a replicação entre regiões (CRR) para replicar os dados do bucket de origem para o bucket de destino na nova região. Ou migre o cliente para mais perto do bucket do S3.
O ISP do cliente local
Analise o caminho da rede para verificar se há perda de pacotes, um alto número de saltos e outros problemas relacionados ao provedor de serviços de Internet (ISP). Analise também retransmissões de TCP, falhas de handshake de SSL, atrasos na resolução de DNS ou proxies de rede.
Para determinar a perda potencial de pacotes e a latência dos pacotes enviados ao host remoto, use ferramentas como mtr e traceroute. As ferramentas também podem identificar se um salto de rede está causando maior latência. Por exemplo, o comando traceroute do Linux a seguir usa a porta TCP 80 para testar a conectividade com o endpoint regional us-west-2 (Oregon):
sudo traceroute -P TCP -p 80 s3.us-west-2.amazonaws.com
Para sistemas operacionais (SO) Windows, execute o seguinte comando tracert:
tracert -d -4 s3.amazonaws.com
Observação: muitos dispositivos de rede não respondem ao Protocolo de mensagens de controle da internet (ICMP). Para um teste semelhante às solicitações do Amazon S3, execute um traceroute ou mtr de TCP até o endpoint regional do bucket.
Se a rota de Internet do cliente para o Amazon S3 não for a ideal, use a Aceleração de Transferências do Amazon S3 para locais de borda no Amazon CloudFront. Use a ferramenta Comparação de Velocidade de Aceleração de Transferências do Amazon S3 para determinar se a Aceleração de transferências pode melhorar o desempenho.
Observação: se você ativar a Aceleração de transferências, taxas adicionais de transferência de dados poderão ser aplicadas. Confira os preços do Amazon S3 para transferências de dados.
A rede do cliente local
Para confirmar se a rede do cliente local está íntegra, revise as inspeções internas de pacotes, as verificações antivírus ou o gerenciamento de acesso à rede. Além disso, analise como seu cliente ou aplicação lida com a resolução de DNS e o armazenamento em cache. É uma prática recomendada não armazenar em cache a resolução de DNS por longos períodos.
Para identificar problemas de latência e desempenho do seu cliente on-premises que tem transferências lentas de sincronização do Amazon S3, use testes de diagnóstico de rede. É uma prática recomendada analisar regularmente o desempenho para detectar possíveis problemas antes que eles afetem as velocidades de transferência.
Observação: é uma prática recomendada usar o AWS PrivateLink para Amazon S3 para reforçar a segurança e obter transferências de dados mais confiáveis.
Os recursos do cliente
A aplicação pode apresentar latência devido à forma como o host que faz as solicitações lida com as solicitações e respostas. É uma prática recomendada não implementar contenção de recursos no host. Por exemplo, a contenção de recursos pode estar na CPU, na memória ou na largura de banda da rede.
Para verificar o uso de recursos durante a transferência de dados, use ferramentas como o Resource Monitor ou o comando top. Para mais informações, consulte Resource Monitor (Monitor de recursos) no site do Microsoft Learn.
Observação: a disponibilidade da ferramenta depende do seu sistema operacional.
As operações de leitura ou gravação no dispositivo de armazenamento do cliente que está passando por latência podem afetar o desempenho do download ou do upload no Amazon S3. Para solucionar problemas de IOPS do dispositivo de armazenamento do lado do cliente, use a métrica FirstByteLatency do Amazon CloudWatch para analisar o desempenho do Amazon S3.
Observação: a AWS fatura as métricas de solicitação do Amazon S3 na mesma proporção que as métricas personalizadas do CloudWatch. Para obter mais informações sobre os preços do CloudWatch, consulte Amazon CloudWatch pricing (Preços do Amazon CloudWatch).
A taxa de solicitação para o Amazon S3
Por padrão, os buckets do S3 podem aceitar milhares de solicitações por segundo por prefixo particionado. Se um cliente receber respostas de erro HTTP 5xx do Amazon S3, a taxa de solicitação suportada por prefixo será excedida. Para solucionar erros 5xx, consulte Como solucionar um erro HTTP 500 ou 503 do Amazon S3?
Para acelerar o tempo de transferência com os locais de borda do CloudFront distribuídos globalmente pela AWS, use a Aceleração de Transferências do Amazon S3.
Para melhorar as configurações de rede e aumentar o desempenho da transferência, use o AWS Direct Connect. Para mais informações, consulte Improving performance on AWS and hybrid networks (Melhora no desempenho na AWS e em redes híbridas).
Para obter padrões de design que melhoram o desempenho, consulte Padrões de design de desempenho do Amazon S3. É possível usar o AWS DataSync, AWS Snowball, AWS Snowcone e AWS Transfer Family para migrar grandes conjuntos de dados para o Amazon S3. Ou é possível usar os SDKs da AWS e a AWS Command Line Interface (AWS CLI) para criar processos eficientes de transferência paralela e em lote. Para usar o upload multiparte para arquivos grandes, consulte How do I optimize performance when I use AWS CLI to upload large files to Amazon S3? (Como otimizo o desempenho quando uso a AWS CLI para fazer upload de arquivos grandes para o Amazon S3?)
Os logs de acesso ao servidor do Amazon S3 que determinam o tempo de resposta
Para revisar a métrica Tempo de resposta, ative o registro em log de acesso ao servidor do Amazon S3. Para mais informações sobre a métrica Tempo de resposta, consulte Tempo de retorno em Formato dos logs de acesso ao servidor do Amazon S3. Use a métrica Tempo de resposta para determinar o tempo que a operação leva. Em seguida, é possível avaliar outras latências fora do Amazon S3 que podem causar lentidão no download ou no upload.
Se a latência for maior do que o esperado, é uma prática recomendada tentar novamente a solicitação e não esperar que a solicitação seja concluída. Para mais informações, consulte Diretrizes de desempenho para o Amazon S3.
Atividades de transferência de arquivos
Use a métrica TotalRequestLatency para rastrear o tempo decorrido por solicitação. Esse é o tempo do primeiro byte que o bucket do S3 recebe até o último byte que o cliente local envia para o bucket. Para determinar possíveis problemas de desempenho, verifique as métricas GetRequests e PutRequests e os códigos de status 4xx e 5xx.
Observação: a AWS fatura as métricas GetRequests e PutRequests na mesma proporção que as métricas personalizadas do Amazon CloudWatch.
Informações relacionadas
- Tópicos
- Storage
- Idioma
- Português
Vídeos relacionados

