Я використовую s3cmd
для завантаження в 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
Я завантажую з Linode, який має вихідну пропускну здатність 50 Мбіт / с відповідно до підтримки (приблизно 6 Мб / с).
Чому я отримую такі низькі швидкості завантаження на S3, і як їх покращити?
Оновлення:
Завантаження того ж файлу через SCP на екземпляр m1.medium EC2 (SCP з мого Linode до приводу EBS примірника) дає приблизно 44 Мб / с відповідно до iftop
(будь-яке стиснення, зроблене шифром, не є фактором).
Traceroute:
Ось трассіровка до сервера, на який він завантажується (відповідно tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute to s3-1-w.amazonaws.com. (72.21.194.32), макс 30 хмелів, 60 байт пакетів 1 207,99,1,13 (207,99,1,13) 0,635 мс 0,743 мс 0,723 мс 2 207,99.53,41 (207,99,53,41) 0,683 мс 0,865 мс 0,915 мс 3 vlan801.tbr1.mmu.nac.net (209.123.10.9) 0,397 мс 0,541 мс 0,527 мс 4 0.e1-1.tbr1.tl9.nac.net (209.123.10.102) 1.400 мс 1.481 мс 1.508 мс 5 0.gi-0-0-0.pr1.tl9.nac.net (209.123.11.62) 1.602 мс 1.677 мс 1.699 мс 6 equinix02-iad2.amazon.com (206.223.115.35) 9.393 мс 8.925 мс 8.900 мс 7 72,21,220,41 (72,21,220,41) 32,610 мс 9,812 мс 9,789 мс 8 72.21.222.141 (72.21.222.141) 9.519 мс 9.439 мс 9.443 мс 9 72,21,218,3 (72,21,218,3) 10,245 мс 10,202 мс 10,154 мс 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
Затримка виглядає розумною, принаймні, поки сервер не перестає відповідати на запити ping.
traceroute
виглядає? Чи черга надсилань з вашого боку з'єднання TCP майже повна або майже порожня? За допомогою декількох дуже простих тестів ви можете швидко звузити проблему.