为啥需要下载管理器来利用通过 isp 从加利福尼亚的计算机访问弗吉尼亚的 ec2 实例提供的完整下载速度?
Posted
技术标签:
【中文标题】为啥需要下载管理器来利用通过 isp 从加利福尼亚的计算机访问弗吉尼亚的 ec2 实例提供的完整下载速度?【英文标题】:Why is a download manager required to utilize full download speed available via isp from computer in california accessing ec2 instance in virginia?为什么需要下载管理器来利用通过 isp 从加利福尼亚的计算机访问弗吉尼亚的 ec2 实例提供的完整下载速度? 【发布时间】:2011-09-23 08:57:30 【问题描述】:到目前为止,我在弗吉尼亚(美国东部地区)的一个 ec2 实例上通过 chrome 下载平均每秒 700 KB。如果我直接从弗吉尼亚州(美国东部地区)的 s3 下载,我会获得每秒 2 兆字节的数据。
我已将这种方式简化为简单地运行 apache 并从已安装的 ebs 卷中读取文件。在我看到下载达到每秒 1,800 KB 的情况下,不到百分之一。
我也试过nginx,没什么区别。我还尝试使用 7GB 的 Ram 运行大型实例。我尝试为 jvm 分配 6GB 的 ram 并运行 tomcat,从 s3 流式传输内存中的文件以避免磁盘。我尝试在 apache 中启用 sendfile。这些都没有帮助。
当我从从文件系统读取的 apache 运行并使用诸如 downthemall 之类的下载管理器时,从弗吉尼亚州(美国东部地区)的 ec2 实例下载时,我总是获得每秒 2 兆字节的数据。就好像我的 apache 配置为每个线程只允许 700 兆字节。不过,我没有看到任何与此相关的配置选项。
我在这里缺少什么?我还对使用 ec2 的 Dropbox 下载进行了基准测试,我注意到我在那里也获得了大约 700 KB/秒的速度,这也很慢。我想他们必须根据速度在弗吉尼亚/美国东部地区托管他们的 ec2 实例。如果我使用下载管理器从 Dropbox 下载文件,我每秒也会获得 2 兆字节。
tcp 是否只是这种情况,如果您远离服务器,则必须将传输分成块并并行下载以使网络连接饱和?
【问题讨论】:
另外,cdn 无法正常工作,因为用户需要经过身份验证并且文件需要通过私钥解密。 我意识到加利福尼亚北部的一个实例在没有下载管理器的情况下给了我预期的速度,这是有道理的,因为最初的问题是基于弗吉尼亚州实例的下载速度。我想知道为什么我通过弗吉尼亚/美国东部地区的下载管理器从 s3 和 ec2 获得 2 兆字节/秒,而不是通过 ec2 从单个线程下载。 【参考方案1】:我认为您的最后一句话是正确的:您的 700mbps 可能是给定 tcp 连接的限制……可能是 EC2 施加的限制,或者可能是您的 ISP、浏览器或沿途的路由器 - 不知道.下载管理器可能会将请求拆分为多个连接(我认为这称为“多源”),在它们到达后以正确的顺序将它们粘合在一起。当然,是否是这种情况取决于您使用的软件。
【讨论】:
不是 ec2、isp、浏览器或路由器,因为我从西海岸数据中心获得全速。必须与更大的距离 tcp 最终需要同时下载大文件以使连接饱和。谁能解释这是为什么?以上是关于为啥需要下载管理器来利用通过 isp 从加利福尼亚的计算机访问弗吉尼亚的 ec2 实例提供的完整下载速度?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Spring 的 `AuthenticationWebFilter` 有自己的匹配器来检查请求是不是需要身份验证?
为啥新唐N76E003 ISP可以烧录但要勾jump to aprom程序才能运行。重新上电复位都不运行,停在BootLoader