这里我们有一个使用 ASP.NET 3.5 应用程序NTLM基于 Windows 身份验证。系统运行在实际上分布在不同地理位置的专用网络(通过 VPN 连接)上。
我们现在正在尝试优化网站的性能。由于 NTLM 的工作方式,对 IIS 的每个新请求都由 3 个不同的请求组成,而前 2 个是 401 响应。我们试图将这些请求的数量最小化到仅在会话开始时。我们找到了在提高 IIS 6.0 应用程序的性能。不幸的是,它没有改变任何东西,我们不断收到这个 401 响应(这会浪费时间)。
为了查看流量,我首先使用了Fiddler应用程序。不知何故,当我使用 Fiddler 时,会话开始时只有 1 个身份验证过程(正如我所希望的那样),但是当我关闭 Fiddler 应用程序并通过Wireshark我可以看到每个请求仍然有这个 401 响应。
客户端使用 Internet Explorer 6、IIS 版本 6。
我们如何才能解决这个问题?
答案1
只是一个想法,但由于 Fiddler 是一个代理,它可能会保持你的 TCP/IP 连接打开。请参阅Fiddler 帮助页面关于重复使用与服务器的连接和重复使用客户端连接。
你还应该确保已经选中“使用 HTTP 1.1”和“通过代理使用 HTTP 1.1”,并仔细检查你的KeepAlive 超时注册表设置确实不低。