有没有一个IE8的设置或政策,使其像持久连接IE7的工作?

我正在使用IIS 5.1在XP上运行的商业应用程序。 应用程序定期返回一个IIS错误“此时访问网站的人太多”。 这是由于Microsoft在Windows XP下人为地限制了IIS 5.1下的连接数(10),但在这种情况下,实际上只有一个用户(尽pipe每次打开几个标签)。 微软build议你可以通过closures该特定网站的HTTP Keep-Alives来减less这个问题:

http://support.microsoft.com/kb/262635

如果在Windows 2000 Professional上使用IIS 5.0或在Microsoft Windows XP Professional上使用IIS 5.1,请禁用网站属性中的HTTP保留。 当您这样做时,仍然存在10个并发连接的限制,但IIS不维护非活动用户的连接。

我可以这样做; 不过,我担心性能下降。 不过,我也注意到,IE8似乎处理这个不同于IE7。 默认情况下,IE6和IE7使用2个永久连接,而IE8使用6个。也许在这种情况下,IE8自己正在产生多个连接,试图更快,但这些额外的连接压倒了XP上人为限制的IIS 5.1? 假设情况是这样的,是否有IE浏览器选项,registry设置或政策我可以设置强制IE8行为像IE7永久连接方面? 我不会为所有用户设置,但是对于使用此应用程序的less数用户来说,它可能会解决间歇性问题,直到应用程序可以在Windows Server 2008上重新托pipe。谢谢。

禁用保持活动连接将通过阻止浏览器在最后一次访问后保持连接打开一段时间来减less问题。

这当然不会阻止这个问题。 如果你只有两个使用IE8的用户打开一个包含许多子对象(图像,脚本文件,css文件)的页面,那么你将达到10个连接限制。 根据您的应用程序和用户数量,这可能不太可能,但是并发用户会话越多,您就越有可能迁移到旨在供服务器使用的Windows变体(因此不会自动禁用)是你应该尽快做的事情。

如果您的用户是本地用户或正在使用多个连接,则禁用保活将不会对性能产生重大影响。 保持活动的连接通过减lessTCP握手来减lessnetworking延迟的影响,但是如果你的客户端是本地的,每个连接不需要很长的时间来启动。 如果您的用户相对于应用程序相当偏远,并且因此与应用程序之间的往返延迟时间相当长,那么差异将更加明显 – 跨越大西洋的100 + ms往返时间将会产生更多的影响保持closures性能比在同一networking上的主机之间的往返时间less于1ms。