我该怎么做才能加快S3上传/更新速度?

时间:2014-07-22 00:57:55

标签: file-upload amazon-web-services amazon-s3

我一直在努力将一些小东西上传到s3。 500个目录中约有20k个文件,总共约3GB。对于名为Simple Storage Service的服务来说,这是绝对合理的。我可以平均上传到不同的地方,大约500k / s - 1mb / s(1.8到3.6gb / h)。我一直试图将这些文件整天上传到s3,我必须在汇总时以令人沮丧的速度上传(想想大约100 mb / h)。

我试过了:

  • 在各种操作系统上使用各种浏览器的s3 Web控制台
  • boto使用我编写的各种脚本,并在网上找到(主要是在SO上)。

我希望你能帮助我诊断的问题如下:

  • 拖放到s3控制台(只是为了计算20k文件,需要一个小时)。为什么?除非我能解决这个问题,否则Web控制台对我来说几乎没用。
  • 上传本身非常慢,很快超过100 k / s。
  • 整天上传后,我注意到文件名存在一个简单的问题,不想再花一整夜的时间上传,我使用了这个脚本:Amazon S3 boto: How do you rename a file in a bucket?,每个人都声称工作得非常快。它设法每2-3秒重命名约1 200kb文件。为什么呢?
  • 上传后,将所有文件公开(使用Web控制台)花费了4个小时,但仍未完成。

真的很令人沮丧,我必须做错事。我希望一切工作速度提高10倍左右,但事实并非如此。我已经读过,如果拆分文件s3运行得更快,我已经读到该区域(我在纽约)非常重要。什么变化会让我上传速度最快?

2 个答案:

答案 0 :(得分:3)

可能通过更改AWS服务器位置来修复慢速上传连接

我刚想通了,问题在于我的情况:上传的持续时间(大小35MB)

  • 俄勒冈州,美国西 - 2:5-6分钟
  • 德国弗兰克福特市中心:1分钟! (那是关于我的最大连接)

我的总部设在维也纳,不在美国 - >检查您的AWS服务器位置

答案 1 :(得分:-1)

  

上传本身非常慢

您可以尝试Bucket Explore r在数百个并行队列中上传操作,以便上传过程更快。

  

上传后,将所有文件公开(使用网络控制台)花了4个小时,但仍然没有完成。

您可以在存储桶上设置策略,以便公开访问对象 以下示例策略允许访问匿名用户。

 { 
  "Id": "ds", 
  "Statement": [{ 
  "Action": "s3:GetObject", 
  "Effect": "Allow", 
  "Principal": {"AWS": "*"}, 
  "Resource": [ 
  "arn:aws:s3:::testbucket", 
  "arn:aws:s3:::testbucket/*" 
  ], 
  "Sid": "1" 
 }], 
  "Version": "2008-10-17" 
  } 

披露:我是Bucket Explorer的开发者之一