Posts Tagged ‘Performance’

SharePoint Page Performance

June 18, 2012 1 comment

Recently I have been asked to take a look a couple of client SharePoint systems that have been experiencing a few random performance issues with the odd slow page load times. So I thought I would highlight a few tools that can be used to help with this.

Task Manager

The first and most simple tool to use is Task Manager, run this on your servers to monitor general CPU and memory usage also drill down into individual process memory and CPU usage, if you show processes from all user, you will be able see the w3wp.exe processes and user names (Managed accounts) running those processes. This can help you in a multi-server, multi-web environment, where an app pool on a single server may not have started.

From a command line run c:\Windows\System32\Inetsrv\appcmd list WP to see the app pools currently running, each of these will have a PID.


If you add the PID column in task manager you can tie both together and  see what’s going on with your app pools on each server.


Developer Dashboard

The developer dashboard is a real bonus in SP2010 for looking at page load issues, run it in ‘OnDemand’ mode, and use the icon next to your name to view the output.



This will tell you everything about your page execution time


to enable the developer-dashboard run

Stsadm –o setproperty –pn developer-dashboard –pv “OnDemand”

An excellent article about the developer dashboard is here

Output Cache

SharePoint server can use the ASP.NET output cache, which can help can help improve page response times by caching ASPX pages in memory, this only works for Publishing pages, use Site Collection Administration settings to get to the Output cache settings page.




Once you have enabled the cache switch on “Enable debug cache information on pages” this will add an extra comment at the end of the HTML markup of a web page indicating if the cache has been used.

<!– Rendered using cache profile:Extranet (Published Site) at: 2012-06-07T12:11:42 –>

or not used

<!– 8 Output cache not used. Reason: User can view an unpublished version of the current page. –>


Object Cache

Enabled by default at 100 MB, you can make this larger but remember your memory allocations !

Blob Cache

This is probably the most over looked, but most useful cache available in SharePoint

The BlobCache this is disabled by default, but it allows files and images to be stored in a folder on your WFE server rather then being fetched from the SQL Server for each request.

This is of particular value for large image and movie files, to enable the BlobCache pick a non-system drive on your WFE for your store, then locate the line below in the web.config for the Web App in question and update the drive location and set the enabled value to true

<BlobCache location="C:\BlobCache\14" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$" maxSize="10" enabled="false" />

Don’t forget to backup your web.config before making changes as it a quick way to break SharePoint, also no need for an IIS reset as SharePoint will re-read the web.config as soon as its saved.


for more information about SharePoint caching, see the white paper at this location.

Happy SharePointing !

Categories: SharePoint 2010, SP2010 Tags:

#SP2010 #PS2010 Performance Links

Some useful links for Capacity Performance and Management

SharePoint 2010

Capacity management and sizing overview

Software boundaries and limits

Performance and capacity test results / recommendations

Performance and capacity technical case studies

InfoPath Form Services – performance and capacity requirements


Project Server 2010

Plan hardware architecture

Software Boundaries (Project Server 2007)

SSRS Web Part Performance 2008 R2 vs. 2012 Initial Results #SharePoint #SP2010 #in

April 30, 2012 11 comments

On one of my client projects, we heavily use SQL Server Reporting Services in SharePoint integration mode.

The benefits in comparison to Native mode are primarily around the RS SharePoint Add-in which allows us to use query string (URL) filter web parts to pass parameters to reports and create powerful dynamic dashboards as well as using SharePoint to permission and store the reports.

There is an issue however.  Performance in this mode is not amazing, as detailed here:

Now that SQL Server 2012 has gone to RTM, we can start to get a measure of how well the new web part performs and I am pleased to say that the improvements appear to be great so far…

The Scenario

  • SharePoint Version: 2010 SP1 – December 2011 CU with Project Server
  • DB Server: SQL Server 2008 R2 SP1
  • SSRS Version: 2008 R2 SP1
  • SSRS Add-in: 2012 (Denali) – RTM
  • Server Architecture: 1 x WFE / App Server (Virtual) + 1 x SQL Server (Virtual)

NB: All testing has been carried out on our DEV server, please always try out new software on a development / test environment first to ensure the benefits and to safe guard production from issues.

The Reports:

Table based reports rolling up Project Server and SharePoint data based on parameters provided by the end user (Cannot show due to client confidentiality I’m afraid).

The Results:

Now this is just a teaser really since we will be doing full testing on our master development environment, but for now…

Project Portfolio Table Report

  • Number of returns items: 17 rows
  • Number of parameters: 1 (Portfolio ID)


NB: All time taken in seconds using Fiddler2

SSRS2008R2vs2012_ProjectPortfolioWholePage_Graph SSRS2008R2vs2012_ProjectPortfolioSSRS_Graph
SSRS2008R2vs2012_ProjectPortfolioWholePage_Pie SSRS2008R2vs2012_ProjectPortfolioSSRS_Pie

As you can see, we are seeing significant time increases with the new web part and within my client we have the go ahead to carry out further testing.

More useful links:

%d bloggers like this: