Question

When the SharePoint application you are working on has unsatisfactory response times how do you pinpoint the causes and in which sequence? So far I have not yet found any open source or commercial profiling tools specific for the SharePoint segment, so any pointer to tools or best practices will be appreciated.

PS. I am aware of the profiling options for the web parts but I am looking for something that covers the entire application.

Was it helpful?

Solution

My advice is to look at the following:

  • Data Layer Check and see if your database is chugging along, and what requests are taking a lot of time. 90% of everything you see in SharePoint is stored in the database somewhere. Run SQL Profiler for a few hours and examine your logs.

  • Site Collections I have found in SharePoint that the deeper you arrange your sites and site collections, the further that performance degrades. This is purely anecdotal, so take it with a grain of salt.

Other than that, I don't know of many SharePoint profiling tools. My experience with SharePoint has pushed my away from heavy customization jobs, and towards using more functionality OOTB. I rarely recommend using SharePoint as an application platform.

Good Luck!

OTHER TIPS

RedGate has a document about profiling an entire Sharepoint Site Collection using the ANTS Profiler:

Document

I am currently evaluating it, so I cannot say if this works and how good it is. Make sure you use Version 4.1 though, to be able to profile IIS 6.0 on Ports below 1024. Windows Permissions maybe a bit "strange" to set up, but as said, I am still evaluating it myself and can not say how good this works.

check out a tool called Sonar from Binary Wave. It details some good information on what is taking time to load on your SharePoint page:

http://www.binarywave.com/products/sonar/default.aspx

There's a free lite version you can try out.

HTH Nick Swan

As Michael said above Red Gate ANTS Profiler is an excellent tool for profiling your SharePoint code.

My post here shows how easy it is to get up and running, although you could argue that it is aimed at your specific code it is possible to test perf issues when things like large lists are populated. But if your into this area you not really looking for a profiler and more at load and scale testing.

http://www.21apps.com/sharepoint/code-profiling-ants/

Hope this helps.

Andrew

Unfortunately alot of Sharepoint development is primitive. For something like you want I would pull the logic and the areas you think are slow into a standalone program and then use the web services to pull the data from Sharepoint so they can be tested.

If not that then start putting a bunch of timers around code you are not sure about and printing the output.

I've had success profiling SharePoint 2010 with EQATEC Profiler. Bonus is that they have a free edition.

Steps to set it up here: http://blogs.visigo.com/chriscoulson/performance-profiling-a-sharepoint-2010-project-using-eqatec-profiler/

You can use the built-in Profiling Tools in Visual Studio: http://msdn.microsoft.com/en-us/library/hh322089.aspx

"This walkthrough shows how to use the profiling tools in Visual Studio to optimize the performance of a SharePoint application. The example application is a SharePoint feature event receiver that contains an idle loop that degrades the performance of the feature event receiver. The Visual Studio profiler enables you to locate and eliminate the most expensive (slowest-performing) part of the project, also known as the hot path."

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top