1

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

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

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

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

4

1 回答 1

0

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

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

于 2013-08-16T05:16:56.087 回答