SharePoint is a complex application and when not architected properly as well as having peripheral (Network, AD, SAN) technologies not up to snuff, the problems start. Problems surface as slow page loads (heavy pages, slow storage), SQL disconnects due to concurrency issues, page errors (poorly written web parts) or jobs that don’t complete properly (profile imports not optimized) and page errors due to coding problems such as memory leaks.
There are a diverse range of tools for digging down to the specifics of a SharePoint performance issue and gathering evidence that would help you make a diagnosis, determine the root causes, and resolve the problem.
The following tools are especially helpful in pinpointing causes of performance issues:
- Fiddler PowerToy and neXpert add-on Used together, these tools provide a solid starting point for page load analysis. They allow you to review caching, compression, and overall HTTP performance. You can get more information about these tools at (http://msdn.microsoft.com/en-us/library/bb250442.aspx) and (http://microsoft.com/downloads/details.aspx?FamilyId=5975DA52-8CE6-48BD-9B3C-756A625024BB&%20displaylang=en).
- WireShark – When you need to look into network issues, use WireShark. It works with many media, and you can capture packets from recreated TCP/IP conversations when you recreate issues. For more information, see wireshark.org.
Visual RoundTrip – Analyzer (VRTA) You can use VRTA to examine the round-trip performance from request to response. VRTA examines the communications protocol, identifying the causes of excessive round trips, and recommending solutions. You can download it from Microsoft downloads, (http://microsoft.com/downloads/details.aspx?FamilyID=119F3477-DCED-41E3-A0E7-D8B5CAE893A3%20&displaylang=en).
- SQL Profiler You can use this useful tool, installed with SQL Server, for monitoring an instance of SQL Server Database Engine or SQL Server Analysis Services. It enables you to discover issues with queries, deadlocks, timeouts, recompilations, and general errors and exceptions.
SQLDiag – This tool, also installed with SQL Server, collects valuable information about the configuration of the computer running SQL Server, the operating system, and the information that is reported to the SQL Server error logs.
- SQL Query Analyzer This is a low-level debug tool for analyzing query performance issues. It also is part of the SQL Server toolset.
- SPtraceview – This is one of my favorite tools because it provides a view of performance issues in real time. It’s useful for monitoring diagnostic tracing when working with custom Web parts. For more information, see (http://hristopavlov.wordpress.com/2008/06/19/sptraceview-lightweight-tool-for-monitoring-the-sharepoint-diagnostic-logging-in-real-time/).