views:

734

answers:

5

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.

+2  A: 

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!

Ryan
Very good answer. Any idea how to detect bottlenecks on the network side, like latency when calling the AD or switch and router issues?
Kasper
Hardware latency is best handled using some sort of enterprise monitoring tool, or vendor specific profiling tools. Profiling Authentication and Authorization providers (like AD) is tough. You may want to write a simple application that auths against your AD and check the latency on that.
Ryan
A: 

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.

Will Dieterich
+2  A: 

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.

Michael Stum
+2  A: 

Hi,

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

Nick Swan
+1  A: 

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

AndrewWoody