为什么上传到S3这么慢?


12

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的速度。


跟踪路由: 这是到服务器上传到的服务器的跟踪路由(根据tcpdump)。

#traceroute s3-1-w.amazonaws.com。
跟踪路线到s3-1-w.amazonaws.com。(72.21.194.32),最大30跳,60字节数据包
 1 207.99.1.13(207.99.1.13)0.635毫秒0.743毫秒0.723毫秒
 2 207.99.53.41(207.99.53.41)0.683毫秒0.865毫秒0.915毫秒
 3 vlan801.tbr1.mmu.nac.net(209.123.10.9)0.397毫秒0.541毫秒0.527毫秒
 4 0.e1-1.tbr1.tl9.nac.net(209.123.10.102)1.400毫秒1.481毫秒1.508毫秒
 5 0.gi-0-0-0.pr1.tl9.nac.net(209.123.11.62)1.602毫秒1.677毫秒1.699毫秒
 6 equinix02-iad2.amazon.com(206.223.115.35)9.393毫秒8.925毫秒8.900毫秒
 7 72.21.220.41(72.21.220.41)32.610毫秒9.812毫秒9.789毫秒
 8 72.21.222.141(72.21.222.141)9.519毫秒9.439毫秒9.443毫秒
 9 72.21.218.3(72.21.218.3)10.245毫秒10.202毫秒10.154毫秒
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

等待时间看起来很合理,至少直到服务器停止响应ping请求为止。


开始故障排除。上传时,您的CPU使用情况如何?什么是一个traceroute什么样子?TCP连接一侧的发送队列几乎已满或几乎为空?通过一些非常简单的测试,您可以快速缩小问题范围。
David Schwartz

Answers:


9

仅仅因为您可以提高到50mbps,并不意味着您将始终获得50mbps。通往S3的网络路径以及延迟也很重要。

如果能够使用分段上传,则可以将文件分解为多个片段,并使用多个线程上传,这可能会提高上传速度。


1
从我的Linode通过SCP将同一文件上传到m1.medium EC2实例的速度约为44 Mb / s(根据iftop,因此压缩无关紧要),这与50 Mb / s的输出带宽上限非常接近。S3上载的速度约为后者的五分之一。最新版本s3cmd支持分段上传,但不是同时上传,而是连续上传。是否有更好的实用程序可上传到S3?
汤姆·马瑟纳尔

我将来自SCP(我的Linode-> EC2实例)的速度统计信息添加到我的问题中。
汤姆·马瑟纳尔

您是否尝试过使用类似于s3cmd的其他工具进行测试?这是为了确定实际上不是很慢的s3cmd。另外,如果s3cmd以某种方式通过HTTPS上传,则您可能希望尝试将其切换为HTTP。另一个想法是S3本身的上传速度较慢,因为您似乎对EC2没问题。
gekkz 2012年

4
尝试s3multiput。
EEAA 2012年

11

万一有人偶然发现这个...

我遇到一个问题,即从ec2实例上传到s3存储桶的过程确实很慢,事实证明,存储桶的区域非常简单!我在北加州使用ec2实例,当按照我们的标准创建存储桶时,它的传输速度确实很慢,而将存储桶设置为北加州,则存储速度更快。


1

我在论坛中看到过很多话题,涉及使用各种客户端缓慢上传到S3的问题,例如免费的命令行工具(用Python,btw编写)和商业工具。

尽管我没有确凿的证据,但是切换S3客户端(例如Cloud Berry Explorer)可能会解决您的问题。尝试一下!:)


3
在无头服务器上?不要这样
EEAA 2012年

在审判之前,让他/她尝试另一个客户。例如,有s3cp。
瓦伦丁

+1。在EC2上,只需从FileZilla切换到CuteFTP,性能就提高了30倍。
Calvin1602 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.