Estoy usando s3cmd
para subir a 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
Estoy cargando desde Linode, que tiene un límite de ancho de banda saliente de 50 Mb / s según el soporte (aproximadamente 6 MB / s).
¿Por qué obtengo velocidades de carga tan lentas en S3 y cómo puedo mejorarlas?
Actualizar:
Cargar el mismo archivo a través de SCP a una instancia m1.medium EC2 (SCP de mi Linode a la unidad EBS de la instancia) proporciona aproximadamente 44 Mb / s según iftop
(cualquier compresión realizada por el cifrado no es un factor).
Traceroute:
Aquí hay un traceroute al servidor al que está cargando (según tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute a s3-1-w.amazonaws.com. (72.21.194.32), 30 saltos máximo, paquetes 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 * * * dieciséis * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
La latencia parece razonable, al menos hasta que el servidor dejó de responder a las solicitudes de ping.
amazon-web-services
amazon-s3
linode
Tom Marthenal
fuente
fuente
traceroute
ve un ? ¿La cola de envío de su lado de la conexión TCP está casi llena o casi vacía? Con unas pocas pruebas muy simples, puede reducir rápidamente el problema.Respuestas:
El hecho de que pueda subir a 50 mbps no significa que siempre obtendrá 50 mbps; La ruta de red a S3, así como la latencia, también son importantes.
Si puede usar la carga de varias partes, podrá dividir un archivo en varias partes y cargarlo usando múltiples hilos, posiblemente aumentando la velocidad de carga.
fuente
iftop
, por lo que la compresión no importa), que está mucho más cerca del límite de ancho de banda saliente de 50 Mb / s. Las cargas de S3 son aproximadamente un quinto más rápido. El últimos3cmd
admite cargas de varias partes, pero no las carga simultáneamente, sino consecutivamente. ¿Hay una mejor utilidad para cargar a S3?Por si alguien se topa con esto ...
Tuve un problema en el que era muy lento cargar desde una instancia ec2 a un bucket s3, ¡resultó ser realmente simple, la región del bucket! Estaba usando instancias ec2 en el norte de california, cuando el depósito se creó como estándar de EE. UU., Fue muy lento de transferir, con el depósito configurado en el norte de california fue mucho más rápido.
fuente
He visto muchos hilos en un foro sobre la carga lenta a S3 usando varios clientes, como las herramientas gratuitas de línea de comandos (escritas en Python, por cierto) y comerciales.
Aunque no tengo pruebas sólidas para usted, cambiar el cliente S3 (por ejemplo, Cloud Berry Explorer) podría resolver su problema. ¡Intentalo! :)
fuente