Por que o upload para S3 é tão lento?

12

Estou usando s3cmd para enviar 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 fazendo upload 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 de upload tão lentas para o S3 e como posso melhorá-las?

Atualização:

Fazer upload do mesmo arquivo via SCP para uma instância do EC2 m1.medium (SCP do meu Linode para a unidade EBS da instância) fornece aproximadamente 44 Mb / s de acordo com iftop (qualquer compactação feita pela cifra não é um fator) .

Traceroute: Aqui está um traceroute para o servidor para o qual ele está fazendo upload (de acordo com tcpdump ).

# traceroute s3-1-w.amazonaws.com.
traceroute to s3-1-w.amazonaws.com. (72.21.194.32), 30 hops max, 60 byte packets
 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.

    
por Tom Marthenal 08.04.2012 / 19:40

3 respostas

9

Só porque você pode ir até 50mbps não significa que você sempre terá 50mbps; O caminho da rede para o S3, bem como a latência, também são importantes.

Se você conseguir usar o upload em várias partes, poderá dividir um arquivo em várias partes e enviá-lo usando vários segmentos, possivelmente aumentando a velocidade de upload.

    
por 08.04.2012 / 19:49
10

Apenas no caso de alguém se deparar com isso ...

Eu tive um problema em que era muito lento fazer o upload de uma instância ec2 para um bucket s3, que acabou sendo muito simples, a região do bucket! Eu estava usando instâncias do ec2 no norte da califórnia, quando o bucket foi criado como padrão nos EUA, era muito lento para transferir, com o bucket definido para o norte da califórnia era mais rápido.

    
por 21.11.2012 / 04:35
1

Eu tenho visto 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 provas concretas para você, trocar o cliente S3 (por exemplo, o Cloud Berry Explorer) pode resolver o seu problema. Tente! :)

    
por 08.04.2012 / 20:58