4

このスクリプトを PHP5-CLI で使用して、Amazon S3 から EC2 インスタンスにファイルをダウンロードしていますが、かなり遅いです (160 MB で 1 分、約 2 MB/秒)。おそらく、少なくとも 10 MB/s が可能であるはずです。コードで何か間違ったことをしていますか?

require 'aws-sdk/sdk.class.php';

$s3 = new AmazonS3(array(
        'key' => '********',
        'secret' => '******************'
));
$s3->get_object('mahbucket', 'filename.tar.gz', array('fileDownload' => 'downloaded.tar.gz'));

バケットが入っeu-west-1ていて、インスタンスが入っていますeu-west-1a

( AWS フォーラムにクロス投稿)

4

1 に答える 1

1

あなたのスクリプトは問題ないように見えますが、少し前に同様の問題に遭遇し、修正できませんでした…</p>

私の新しいアプローチは、S3 バケットと EC2 インスタンス間のファイル転送にs3cmdを使用することです。一度設定するだけで、PHP 経由でトリガーすることができます。また、AWS 認証情報をスクリプト内に保存する必要がないため、より安全です。

私の意見では、速度は大丈夫です:

user@mothership:~/s3# s3cmd put test.bin s3://data.example.com/test.bin

test.bin -> s3://data.example.com/test.bin  [part 1 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.39 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 2 of 13, 15MB]
 15728640 of 15728640   100% in    0s    15.55 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 3 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.18 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 4 of 13, 15MB]
 15728640 of 15728640   100% in    0s    17.32 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 5 of 13, 15MB]
 15728640 of 15728640   100% in    0s    18.87 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 6 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.58 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 7 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.29 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 8 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.95 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 9 of 13, 15MB]
 15728640 of 15728640   100% in    0s    15.33 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 10 of 13, 15MB]
 15728640 of 15728640   100% in    0s    17.01 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 11 of 13, 15MB]
 15728640 of 15728640   100% in    0s    15.36 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 12 of 13, 15MB]
 15728640 of 15728640   100% in    0s    16.56 MB/s  done
test.bin -> s3://data.example.com/test.bin  [part 13 of 13, 10MB]
 11256320 of 11256320   100% in    0s    14.15 MB/s  done

user@mothership:~/s3# s3cmd get s3://data.example.com/test.bin test.bin.new
s3://data.example.com/test.bin -> test.bin.new  [1 of 1]
 200000000 of 200000000   100% in   11s    16.20 MB/s  done

この記事も興味深いかもしれません: Amazon EC2 内および Amazon S3 へのネットワーク パフォーマンス

于 2012-06-06T15:55:57.543 に答える