SharePoint Page Performance
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.
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.
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
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. –>
Enabled by default at 100 MB, you can make this larger but remember your memory allocations !
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 !Follow @NeilKing41