使ってます 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要求への応答を停止するまでは、待ち時間は適切に見えます。
50mbpsまで上げられるからといって、常に50mbpsが得られるわけではありません。 S3へのネットワークパスとレイテンシも重要です。
マルチパートアップロードを使用できる場合は、ファイルを複数の部分に分割し、複数のスレッドを使用してアップロードできるため、アップロード速度が向上する可能性があります。
誰かがこれに遭遇した場合に備えて...
Ec2インスタンスからs3バケットへのアップロードが本当に遅いという問題がありました。バケットの領域が本当にシンプルであることが判明しました!私は北カリフォルニアでec2インスタンスを使用していました。標準としてバケットが作成されたとき、転送が非常に遅く、バケットが北カリフォルニアに設定されていたため、ヒープはより高速でした。
フォーラムで、無料のコマンドラインツール(Python、btwで作成)や商用ツールなど、さまざまなクライアントを使用したS3へのアップロードが遅いことについて多くのスレッドを見てきました。
確固たる証拠はありませんが、S3クライアント(Cloud Berry Explorerなど)を切り替えると問題が解決する可能性があります。それを試してみてください! :)