web-dev-qa-db-ja.com

S3へのアップロードが遅いのはなぜですか?

使ってます 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 Mb/sです(約6 MB/s)。

S3へのアップロード速度が遅いのはなぜですか、どうすれば改善できますか?


更新:

SCPを介して同じファイルをm1.medium EC2インスタンスにアップロードすると(私のLinodeからインスタンスのEBSドライブにSCP)、iftopに従って約44 Mb/sが得られます(暗号によって行われる圧縮は要因ではありません)。 。


Traceroute:アップロード先のサーバーへの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 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 * * *

少なくともサーバーがping要求への応答を停止するまでは、待ち時間は適切に見えます。

12
Tom Marthenal

50mbpsまで上げられるからといって、常に50mbpsが得られるわけではありません。 S3へのネットワークパスとレイテンシも重要です。

マルチパートアップロードを使用できる場合は、ファイルを複数の部分に分割し、複数のスレッドを使用してアップロードできるため、アップロード速度が向上する可能性があります。

9
gekkz

誰かがこれに遭遇した場合に備えて...

Ec2インスタンスからs3バケットへのアップロードが本当に遅いという問題がありました。バケットの領域が本当にシンプルであることが判明しました!私は北カリフォルニアでec2インスタンスを使用していました。標準としてバケットが作成されたとき、転送が非常に遅く、バケットが北カリフォルニアに設定されていたため、ヒープはより高速でした。

11
rabs

フォーラムで、無料のコマンドラインツール(Python、btwで作成)や商用ツールなど、さまざまなクライアントを使用したS3へのアップロードが遅いことについて多くのスレッドを見てきました。

確固たる証拠はありませんが、S3クライアント(Cloud Berry Explorerなど)を切り替えると問題が解決する可能性があります。それを試してみてください! :)

1
Valentin