我们在 Internet Explorer 中使用 HTTPS 上传文件的速度很慢。
我们有几百台计算机,目前正在进行租赁轮换(新机器取代现在租赁前的机器)。
在某些机器上,我们注意到使用 https 将文件上传到外部网站通常需要 30 秒,但现在却需要 90 多秒(实际上实验表明,更像是 110-130 秒)。
通常,一台机器可以正常工作,然后开始变慢。新机器几乎普遍存在这个问题(我得到一些二手信息,所以我不确定是否所有新机器都存在这个问题)。一旦机器开始变慢,所有使用机器的用户都会遇到速度慢的问题。通常,旧机器不会出现这个问题。
对于有问题的计算机,查看网络流量,文件似乎是以 16K 字节块(11 条 TCP 消息)的形式上传的,之后会延迟 3/10 秒,然后才会发送下一组消息。哦,对了,你应该知道:我们在澳大利亚,但我们所有的网络流量都经过加拿大,而目的地网站在美国(我认为)。我正尝试使用 WireShark 在未受影响的计算机上进行测试。
我们已经在注册表中、LocalMachine/.../IE/Main/... 和 CurrentUser/.../IE/Main/...(以及 LocalMachine/.../policies/...(尽管这是由其他人完成的))实施了 BreakingBufferSize 修复。但无济于事。
我们运行的是 Windows XP SP2。IE 6 和 IE 7 都存在这个问题。由于我们属于一家公司(因此与加拿大有关),我们的系统可能没有安装最新的 XP 补丁。
您对这个恼人的问题的原因有什么想法吗?
答案1
解决方案原来是:HTTP 文件上传操作需要很长时间才能完成
http://support.microsoft.com/kb/329781/
当您使用 HTTP 文件上传功能上传数兆字节的文件时,上传操作可能需要很长时间才能完成。
出现此问题的原因是,默认的 Winsock 发送缓冲区为 8 KB,因此 Internet Explorer 以 8 KB 的块提供数据。在普通网络上,无论网络带宽如何,这大约相当于每秒 80 KB (KBps)。
要解决此问题,请将 Internet Explorer 配置为在与 Winsock 通信时增加发送缓冲区。这可提高使用 HTTP 文件上传方法时的网络性能。为此,请按照以下步骤操作。
答案2
比较好主机和坏主机的 wireshark 跟踪。在您的网络中,延迟是关键问题。如果确认过多,则传输速率会受到影响。限制其数量的方法是增加 tcp 窗口大小。但由于依赖不同的神秘参数,因此很复杂。
比较新旧主机上的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 键。也许旧主机已被 twiked。
它只发生在 https 连接上吗?你尝试过其他类型的上传吗?
在 Google 上搜索“tcp xp 窗口大小”