get_object比wget慢得多

时间:2013-08-05 02:02:32

标签: php amazon-web-services amazon-s3 amazon-ec2

我有一个AWS EC2服务器,它经常与S3存储桶交换文件,而我正在使用AWS PHP SDK(版本1.6)来执行所有事务。一种方法是使用get_object方法,如下所示:

$response = $s3->get_object($bucket, 'large_video.mov', array(
    'fileDownload' => 'large_video.mov'
));

这种方法非常慢!要将2GB文件下载到EC2服务器,需要超过20分钟。另一种方法是使用非常快的Linux wget命令(大约40MB /秒)!

我找不到任何关于为什么get_object这么慢的文档,是否有使用get_object执行的任何其他操作或我错误地使用它?存储桶和实例都在同一区域。我很感激为什么get_objectwget慢得多的一些见解。

1 个答案:

答案 0 :(得分:0)

get_object()只是将请求传递给cURL的PHP​​绑定,然后命中S3 API,然后返回二进制数据。这就是它。没有什么神奇的事情发生。

我唯一能想到的是你没有在SDK中设置端点指向对象所在的区域。无论如何,这都值得一试。