S3'e yükleme neden bu kadar yavaş?


12

s3cmdS3'e yüklemek için kullanıyorum :

# 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

Desteğe göre (kabaca 6 MB / s) 50 Mb / s'lik bir bant genişliği sınırı olan Linode'den yükleme yapıyorum.

S3'e neden bu kadar yavaş yükleme hızları alıyorum ve bunları nasıl geliştirebilirim?


Güncelleme:

Aynı dosyayı SCP aracılığıyla bir m1.medium EC2 örneğine (Linode'umdan örneğin EBS sürücüsüne SCP) yüklemek, iftop(şifre tarafından yapılan herhangi bir sıkıştırma bir faktör değildir) göre yaklaşık 44 Mb / s verir .


Traceroute: Yüklediği sunucuya (göre tcpdump) bir traceroute .

# traceroute s3-1-w.amazonaws.com.
s3-1-w.amazonaws.com adresine gidin. (72.21.194.32), maks. 30 atlama, 60 bayt paket
 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 eksix02-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 * * *

Gecikme, en azından sunucu ping isteklerine yanıt vermeyi durdurana kadar makul görünüyor.


Sorun gidermeye başlayın. Yüklerken CPU kullanımınız nasıl görünüyor? Neye traceroutebenziyor? TCP bağlantısının yanındaki gönderme sırası neredeyse dolu veya neredeyse boş mu? Birkaç çok basit testle sorunu hızla daraltabilirsiniz.
David Schwartz

Yanıtlar:


9

Sadece 50 mbps'ye kadar çıkabileceğiniz her zaman 50 mbps alacağınız anlamına gelmez; S3'e giden ağ yolu ve gecikme süresi de önemlidir.

Çok parçalı yüklemeyi kullanabiliyorsanız, bir dosyayı birden fazla parçaya bölebilir ve birden fazla iş parçacığı kullanarak yükleyebilir ve muhtemelen yükleme hızını artırabilirsiniz.


1
Aynı dosyayı Linode'mdan SCP aracılığıyla bir m1.medium EC2 örneğine yüklemek, yaklaşık 44 Mb / s hızında (buna göre iftopsıkıştırma önemli değildir) çalışır; bu, 50 Mb / s giden bant genişliği kapağına çok daha yakındır. S3 yüklemeleri yaklaşık beşte biri kadar hızlı. En son s3cmddestek çok parçalı yüklemeleri destekler, ancak aynı anda yüklemez, bunun yerine ardışık olarak yükler. S3'e yüklemek için daha iyi bir yardımcı program var mı?
Tom Marthenal

Sorumuma SCP'den (Linode -> EC2 örneği) hız istatistikleri ekledim.
Tom Marthenal

Testler yapmak için s3cmd benzeri başka araçlar kullanmayı denediniz mi? Bu aslında yavaş s3cmd olmadığını belirlemek için. Ayrıca, s3cmd bir şekilde HTTPS üzerinden yükleniyorsa, bunu HTTP'ye değiştirmeyi deneyebilirsiniz. Başka bir fikir, S2'nin kendisinin yüklenmesi daha yavaş oluyor, çünkü EC2 ile ilgili herhangi bir sorununuz yok.
gekkz

4
S3multiput'u deneyin.
EEAA

11

Herkesin tökezlemesi durumunda ...

Bir ec2 örneğinden bir s3 kovasına yüklemenin gerçekten yavaş olduğu bir sorun yaşadım, gerçekten basit olduğu ortaya çıktı, kova bölgesi! Kuzey Kaliforniya'da ec2 örnekleri kullanıyordum, kova standart olarak oluşturulduğunda, transfer etmek gerçekten yavaştı, kova kuzey Kaliforniya'ya ayarlandığında yığınlar daha hızlıydı.


1

Ücretsiz komut satırı araçları (Python, btw ile yazılmış) ve ticari olanlar gibi çeşitli istemcileri kullanarak S3'e yavaş yükleme hakkında bir forumda birçok konu gördüm.

Sizin için kesin bir kanıtım olmamasına rağmen, S3 istemcisini (örneğin Cloud Berry Explorer) değiştirmek sorununuzu çözebilir. Dene! :)


3
Başsız bir sunucuda mı? Böyle düşünmeyin.
EEAA

Yargılamadan önce başka bir müşteriyi denemesine izin verin. Örneğin s3cp var.
Valentin

+1. EC2'de, sadece FileZilla'dan CuteFTP'ye geçmek x30 mükemmel bir gelişme sağladı.
Calvin1602
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.