即使没有程序进行上传,我的 64 位 Windows 7 笔记本电脑也能很好地运行 - ping 时间为 40 毫秒,下载速率为 5 MB。
如果有任何东西开始上传(例如 Dropbox),ping 时间会突然增加超过 2000 毫秒!一旦最终建立连接,下载速率似乎不会受到太大影响。
我关闭了 Windows 防火墙,但没有任何变化。为什么会出现此问题?我可以采取什么措施来防止上传文件时延迟大幅增加?
谢谢!
答案1
这听起来像是缓冲区膨胀。
基本上,您的网络链路上有一个很大的缓冲区,用于存放传出的数据包。当一个ping
数据包被发送出去时,它会进入这个缓冲区,并且必须等待很长时间才能先发送前面的所有数据包。实际网络速度不会受到影响,这意味着数据包通过缓冲区的速率与正常情况相同。
想象一下,这就像一根细管,中间有一个鼓包。当少量水流过时,不会产生任何影响。只有当大量水流过时,鼓包才会充满水。水流入和流出的速度相同,但水在管内停留的时间比正常情况下更长。
解决此问题的方法是找出问题所在,并减少此缓冲区的大小,以限制减慢速度的数据包数量ping
。这可能说起来容易做起来难。如果问题出在您的路由器上,那么您可以尝试使用CeroWRT并调整缓冲区大小。如果问题出在您的 ISP 上,您可以调整路由器以比可用带宽稍慢的速度发送数据,这样可以防止缓冲区被填满。
关于这个问题可以找到更多建议:如何减轻 ADSL 连接上的 BufferBloat?
检查你的连接ICSI Netalyzr(需要 Java)。它将让您了解网络连接的情况。
答案2
这是意料之中的事,因为你正在使用网络适配器上传文件。你的系统的网络响应时间将会延迟,尤其是在你上传文件时。