Estou usando o s3cmd
upload para o S3:
# s3cmd put 1gb.bin s3://my-bucket/1gb.bin
1gb.bin -> s3://my-bucket/1gb.bin [1 of 1]
366706688 of 1073741824 34% in 371s 963.22 kB/s
Estou carregando do Linode, que tem um limite de largura de banda de saída de 50 Mb / s de acordo com o suporte (aproximadamente 6 MB / s).
Por que estou obtendo velocidades tão baixas de upload para o S3 e como posso melhorá-las?
Atualizar:
O upload do mesmo arquivo via SCP para uma instância m1.medium EC2 (SCP do meu Linode para a unidade EBS da instância) fornece cerca de 44 Mb / s de acordo com iftop
(qualquer compactação realizada pela cifra não é um fator).
Traceroute:
Aqui está um traceroute para o servidor para o qual está sendo carregado (de acordo com tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute para s3-1-w.amazonaws.com. (72.21.194.32), 30 saltos no máximo, pacotes de 60 bytes 1 207.99.1.13 (207.99.1.13) 0,635 ms 0,743 ms 0,723 ms 2 207.99.53.41 (207.99.53.41) 0.683 ms 0.865 ms 0.915 ms 3 vlan801.tbr1.mmu.nac.net (209.123.10.9) 0.397 ms 0.541 ms 0.527 ms 4 0.e1-1.tbr1.tl9.nac.net (209.123.10.102) 1.400 ms 1.481 ms 1.508 ms 5 0.gi-0-0-0.pr1.tl9.nac.net (209.123.11.62) 1.602 ms 1.677 ms 1.699 ms 6 equinix02-iad2.amazon.com (206.223.115.35) 9.393 ms 8.925 ms 8.900 ms 7 72.21.220.41 (72.21.220.41) 32.610 ms 9.812 ms 9.789 ms 8 72.21.222.141 (72.21.222.141) 9.519 ms 9.439 ms 9.443 ms 9 72.21.218.3 (72.21.218.3) 10.245 ms 10.202 ms 10.154 ms 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
A latência parece razoável, pelo menos até o servidor parar de responder às solicitações de ping.
amazon-web-services
amazon-s3
linode
Tom Marthenal
fonte
fonte
traceroute
aparência? A fila de envio do lado da conexão TCP está quase cheia ou quase vazia? Com alguns testes muito simples, você pode diminuir rapidamente o problema.Respostas:
Só porque você pode subir até 50mbps não significa que você sempre terá 50mbps; O caminho da rede para o S3 e a latência também são importantes.
Se você puder usar o upload em várias partes, poderá dividir um arquivo em várias partes e carregá-lo usando vários threads, possivelmente aumentando a velocidade de upload.
fonte
iftop
, portanto, a compactação não importa), muito mais próxima do limite de largura de banda de saída de 50 Mb / s. Os uploads do S3 são cerca de um quinto mais rápidos. O mais recentes3cmd
suporta uploads em várias partes, mas não os carrega simultaneamente, mas consecutivamente. Existe um utilitário melhor para carregar no S3?Apenas no caso de alguém tropeçar nisso ...
Eu tive um problema em que era muito lento o upload de uma instância ec2 para um bucket s3, e era realmente simples, a região do bucket! Eu estava usando instâncias ec2 no norte da califórnia, quando o balde foi criado como padrão, era muito lento para transferir, com o balde definido para o norte da califórnia era muito mais rápido.
fonte
Eu já vi muitos tópicos em um fórum sobre upload lento para o S3 usando vários clientes, como as ferramentas de linha de comando gratuitas (escritas em Python, btw) e comerciais.
Embora eu não tenha nenhuma evidência concreta para você, alternar o cliente S3 (por exemplo, Cloud Berry Explorer) pode resolver seu problema. Tente! :)
fonte