Como soluciono problemas de velocidades lentas ou inconsistentes ao fazer o download ou o upload para o Amazon S3?

6 minuto de leitura
0

Quero solucionar problemas de alta latência ou velocidades inconsistentes ao fazer o download ou o upload para o Amazon Simple Storage Service (Amazon S3) de uma rede ou máquina específica.

Resolução

Verifique o seguinte para identificar e mitigar o que pode estar contribuindo para velocidades lentas ou inconsistentes ao fazer o download ou o upload para o Amazon S3:

  • A localização do cliente que está fazendo solicitações
  • O provedor de serviços de Internet do cliente (ISP)
  • A rede do cliente
  • Os recursos do cliente
  • A taxa de solicitação para o Amazon S3
  • Os logs de acesso ao servidor Amazon S3 para determinar o tempo de resposta

A localização do cliente que está fazendo solicitações

Use buckets do Amazon S3 que estejam o mais geograficamente próximo possível do seu cliente. Os buckets são acessíveis globalmente, mas residem em uma região específica da AWS. A distância geográfica entre a solicitação e o bucket contribui para o tempo necessário para que uma resposta seja recebida.

Você pode testar o impacto da distância geográfica entre o cliente e o bucket do S3. Por exemplo, você pode iniciar uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na mesma região da AWS que o bucket. Em seguida, inicie outra instância em uma região diferente. Teste o upload e o download do mesmo arquivo usando as duas instâncias e, em seguida, compare a taxa de transferência entre as duas regiões.

Para diminuir a distância entre o cliente e o bucket do S3, mova seus dados para um bucket em outra região que esteja mais próxima do cliente. Você pode configurar a replicação entre regiões para que os dados no bucket de origem sejam replicados no bucket de destino na nova região. Como outra opção, considere migrar o cliente para mais perto do bucket do S3.

O provedor de serviços de Internet do cliente (ISP)

Analise seu caminho de rede para detectar quaisquer problemas que afetem a forma como sua conexão atravessa a Internet. Esses problemas podem incluir perda de pacotes, alto número de saltos ou outros problemas relacionados ao ISP.

Ferramentas como mtr e traceroute podem ajudar a fornecer pistas sobre possíveis perdas de pacotes. Eles também podem fornecer a latência dos pacotes enviados para o host remoto. Além disso, essas ferramentas podem ajudar a identificar se há um salto na rede 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

Nos sistemas operacionais Windows, você pode usar uma ferramenta similar chamada tracert.

Observação: Muitos dispositivos de rede não respondem ao ICMP. Para um teste semelhante às solicitações do Amazon S3, certifique-se de executar um traceroute ou mtr TCP no endpoint regional do bucket.

Se a rota de internet do cliente para o Amazon S3 não for a ideal, considere usar o Amazon S3 Transfer Acceleration, que aproveita os pontos de presença do Amazon CloudFront. Consulte a ferramenta de Comparação de velocidade do Amazon S3 Transfer Acceleration para ver se o Transfer Acceleration pode melhorar o desempenho do seu caso de uso.

Observação: Se você ativar o Transfer Acceleration, taxas adicionais de transferência de dados poderão ser aplicadas. Não deixe de conferir os preços do Amazon S3 para transferências de dados.

A rede do cliente

Confirme se a rede do seu cliente está íntegra examinando as inspeções internas de pacotes, a verificação de antivírus ou o gerenciamento de acesso à rede. Além disso, analise como seu cliente ou aplicativo lida com a resolução de DNS e o armazenamento em cache.

Para se beneficiar da natureza distribuída e da disponibilidade do Amazon S3, evite armazenar em cache a resolução de DNS por longos períodos de tempo.

Os recursos do cliente

Pode haver uma latência introduzida em sua inscrição ou a forma como o host que está fazendo as solicitações está lidando com as solicitações enviadas e as respostas recebidas. Como prática recomendada, confirme se não há nenhuma disputa de recursos no host que possa estar contribuindo para a latência geral. Por exemplo, a contenção de recursos no host pode estar na CPU, na memória ou na largura de banda da rede.

Você pode verificar o uso de recursos durante a transferência de dados na maioria dos sistemas cliente usando ferramentas como o Resource Monitor ou o comando top. As ferramentas disponíveis dependem do seu sistema operacional.

O dispositivo ou sistema de armazenamento do cliente também pode ser uma fonte de latência. Operações de leitura ou gravação no dispositivo de armazenamento do cliente que apresentam latência elevada podem afetar o desempenho do download ou do upload para o Amazon S3. Você deve solucionar problemas de IOPS do dispositivo de armazenamento do lado do cliente. Você pode analisar o desempenho do Amazon S3 com a métrica FirstByteLatency do Amazon CloudWatch.

Observação: As métricas de solicitação do Amazon S3 CloudWatch são cobradas na mesma taxa que as métricas personalizadas.

O FirstByteLatency mostra quanto tempo o Amazon S3 leva para processar a solicitação do cliente e, em seguida, começar a enviar a resposta ao cliente. A métrica do CloudWatch fornece uma perspectiva de desempenho em nível de bucket. Você pode restringir sua investigação usando os logs de acesso ao servidor do Amazon S3. Para obter mais informações, consulte a seção Logs de acesso ao servidor do Amazon S3 para determinar o tempo de resposta.

A taxa de solicitação para o Amazon S3

Por padrão, os buckets do S3 podem dar suporte a milhares de solicitações por segundo por prefixo. Se um cliente estiver recebendo respostas de erro HTTP 5xx do Amazon S3, isso pode indicar que a taxa de solicitação suportada por prefixo foi excedida. Para solucionar erros 5xx, consulte Como soluciono um erro HTTP 500 ou 503 do Amazon S3?

Os logs de acesso ao servidor Amazon S3 para determinar o tempo de resposta

Você pode ativar o log de acesso ao servidor Amazon S3 para revisar as métricas de tempo de resposta. O tempo de resposta é o tempo entre o recebimento do último byte da solicitação e o envio do primeiro byte da resposta. Essa é uma métrica "tempo até o primeiro byte" (TTFB). Você pode usar o tempo de resposta para determinar a quantidade de tempo que a operação está demorando do ponto de vista do Amazon S3. Em seguida, você pode avaliar outras latências fora do Amazon S3 que podem estar contribuindo para uma lentidão geral no download ou no upload.

Se você observar uma latência maior do que o normal, é uma prática recomendada tentar a solicitação novamente em vez de esperar que a solicitação seja concluída. Para obter mais informações sobre essa orientação e outras recomendações de desempenho, consulte Diretrizes de desempenho para o Amazon S3.

AWS OFICIAL
AWS OFICIALAtualizada há um ano