Iis – Avoiding 401 response for each request using NTLM

iisiis-6ntlm

We have here an ASP.NET 3.5 application using NTLM based Windows authentication.
The system runs on a private network that is actually distributed over different geographic places (connected via VPN).

We are now trying to optimize the website's performance. Because the way NTLM works, every new request to the IIS is composed of 3 different requests while the first 2 are 401 responses. We are trying to minimize the amount of these requests to be only at the beginning of the session. We found the solution described in Improving the Performance of IIS 6.0 Applications. Unfortunately it didn't change anything and we keep getting this 401 response (which consumes time).

In order to see the traffic I first used the Fiddler application. Somehow, when I use Fiddler, there is only 1 authentication process at the beginning of the session (exactly as I wish), but when I close the Fiddler application and check the traffic via Wireshark I can see that I still have this 401 response for each request.

The clients use Internet Explorer 6, IIS version 6.

How can we fix this problem?

Best Answer

Just a thought, but because fiddler is a proxy, it might be keeping your TCP/IP connections open. See the Fiddler Help Page regarding Reuse connections to servers and Reuse client connections.

You should also make sure you've got "Use HTTP 1.1" and "Use HTTP 1.1 through Proxies" are chceked, and double check that your KeepAliveTimeout registry setting is not really low.