Sql-server – SQL Server Connection Timeout after load brought onto IIS web server

asp.netsql serverwindows-server-2012

We have MSSQL 2008 R2 running on windows 2008 r2 it's being hit by 2 server 2008 r2 webservers running asp.net. Both are joined to an active directory domain and use integrated authentication to connect to sql server. The IIS Application pool has the username/password setup on it. This has been working flawlessly for the last year or so.

We recently wanted to spin up new webservers and I configured a new Windows 2012 R2 running the exact same website and configured IIS Application pool with the same username/password. The site connects and works great when I'm doing my testing. But as soon as I bring any real load onto the server I see IIS start to hang and request start piling up.

I took a memory dump and used the new DebugDiag 2.0 analysis on it and saw that the requests were hanging on opening a sql connection:

This thread is trying to open a data base connection

The connection String is Data Source=10.81.73.66;Failover Partner=10.81.73.72;Initial Catalog=XXXX;Integrated
Security=True;Max Pool Size=6000;Connect Timeout=30;Network
Library=dbmssocn;Application Name=EntityFrameworkMUE and the
connection timeout is set to be 30 seconds.

Within the analysis I see quite a few exceptions:

Connection Timeout Expired. The timeout period elapsed while
attempting to consume the pre-login handshake acknowledgement. This
could be because the pre-login handshake failed or the server was
unable to respond back in time. This failure occured while attempting
to connect to the Principle server. The duration spent while
attempting to connect to this server was – [Pre-Login]
initialization=3342; handshake=0;

Any ideas on what to try?

Best Answer

We ended up solving the issue in our environment by removing Integrated Security, and went with specifying user id and password in the connection string. Never did find the root cause.