除非下载多个文件,否则互联网下载速度不会达到全速

除非下载多个文件,否则互联网下载速度不会达到全速

我有 ADSL 线路,当我一次下载一个文件时,我的下载速度确实达到了全速。

当我打电话给我的 ISP 时,他们告诉我,我必须同时下载多个文件才能达到全速。

但是多年来我曾经以全速下载单个文件,并且我通常一次下载一个大文件。现在每个文件的速度不超过 30kb/s,请告诉我是否可以从我的电脑上修复这个问题,或者我应该更换我的 ISP。

谢谢

答案1

当我打电话给我的 ISP 时,他们告诉我,我必须同时下载多个文件才能达到全速。

看起来您的 ISP 正在限制单个连接(我们先不讨论原因)。根据您使用的下载协议,您应该使用某种“下载加速器”。我没有必要使用这样的工具,因此我无法推荐。

您应该更多地了解这个问题,因为这可能会影响其他网络应用程序的性能(首先,速度限制会增加 ping(实际上会导致波动),这是观察表现在当今的网络应用中)

答案2

互联网下载速度取决于许多因素,根据我的经验,影响下载速度的最显著因素是接收窗口 (RWIN) TCP 参数。

远程控制网络
接收窗口是远程服务器在接收到必须确认已收到数据。如果您的 RWIN 太小,那么您在必须发回确认数据包之前只能收到少量数据,这可能会导致更快的连接出现严重瓶颈。

RWIN 之所以重要,是因为发送确认消息的延迟,数据包可能需要几百毫秒才能通过互联网,只是为了告诉服务器您需要更多数据。如果接收窗口较小,这意味着您正在人为地限制自己的带宽。

解释为什么同时下载两个文件会突然意味着您可以全速下载:这是因为从另一个站点下载时,您会使用稍微多一点的带宽,并且实际上会在接收数据的过程中造成额外的(尽管很小)延迟,这会让您的计算机多出一小段秒的时间来发送确认。

这听起来有点违反直觉,但是,当您将下载视为队列中传输的数据流,并且您在数据进入时有效地对其进行标记时,当您将更多数据包(来自其他地方)放入队列时,您实际上增加了该队列中的数据包数量,从而延迟了该过程足够长的时间,以便您的确认数据包能够返回到远程服务器,从而它们可以将更多数据发送回您的队列。

一个可以测试你的互联网连接、建议适当设置并告诉你如何在操作系统中调整它们的(在线)工具是DSLReports 调整测试。它确实需要 Java,但除此之外,它给出的建议是合理的。

Vista 和 Windows 7 会“动态”自动调整自己的 TCP 设置,如果您使用其中任何一个 ADSL 时性能不佳,那么很可能是您的路由器或 ISP 存在问题。

相关内容