Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm trying to diagnose the cause of poor performance from a third-party web application we've deployed; the environment is:

  • ASP.NET on IIS, Windows 2003 Server
  • SQL Server 2008 on a separate Windows 2003 Server

There is one particular area of the application which is incredibly slow (4-5 seconds per request); the application vendor has commented that the performance seems quite slow for the hardware we are running it on, and suggested that our configuration is at fault (but not offered any advice otherwise).

How can I go about working out where the problem is (SQL config, IIS config, the application itself, hardware)? Performance monitor seems to have hundreds of options and no easy way to work out where I should be looking; I've run some SQL traces without seeing any immediate errors, and a series of Wireshark captures have revealed that there are 5 moderately large SQL query sequences between the HTTP request and response.

Is there anything special I should be doing with the MSSQL/IIS configuration? The ASP.NET application is currently masquerading as a domain user to allow a scheduled task to write to a network share; apart from that, I'm not sure what changes have been made to the default configurations, but I do have a test server running IIS and SQL Express to experiment with.

share|improve this question

2 Answers 2

Try SQL Profiler on the sql server box if you have it installed and see what the cpu and io stats on the queries are.

Is the network local or switched? A crude testing tool is to ping between the servers with very large packets eg 30Kb packet size and see if it drops any packets. I've sent network guys scurrying back to their consoles after their 64 byte pings worked but then showed them large packets being dropped every few seconds.

share|improve this answer
I've done some traces as recommended in SQL Server performance triage; importing a trace into a database table didn't appear to show anything particularly odd, but I'll have to recheck it. The network seems to be fine. –  Andrew Nov 4 '10 at 2:33

While hitting that particularly slow area (plus more), try using the PAL tool (http://pal.codeplex.com/) against both the IIS box and SQL box with the respective perfmon templates (included). You should see who/what is dragging their feet during a slowdown.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.