Archive
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.
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.
http://www.microsoft.com/en-us/download/details.aspx?id=12768
Happy SharePointing !
Follow @NeilKing41#SP2010 #PS2010 Performance Links
Some useful links for Capacity Performance and Management
SharePoint 2010
Capacity management and sizing overview
http://technet.microsoft.com/en-us/library/ff758647.aspx
Software boundaries and limits
http://technet.microsoft.com/en-us/library/cc262787.aspx
Performance and capacity test results / recommendations
http://technet.microsoft.com/en-us/library/ff608068.aspx
Performance and capacity technical case studies
http://technet.microsoft.com/en-us/library/cc261716.aspx
InfoPath Form Services – performance and capacity requirements
http://technet.microsoft.com/en-us/library/gg576954.aspx
Project Server 2010
Plan hardware architecture
http://technet.microsoft.com/en-us/library/hh297440.aspx
Software Boundaries (Project Server 2007)
http://technet.microsoft.com/en-us/library/cc197693(v=office.12).aspx
SSRS Web Part Performance 2008 R2 vs. 2012 Initial Results #SharePoint #SP2010 #in
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:
- http://sqlcat.com/sqlcat/b/technicalnotes/archive/2010/11/03/reporting-services-performance-in-sharepoint-integrated-mode-in-sql-server-2008-r2.aspx
- http://connect.microsoft.com/SQLServer/feedback/details/635080/ssrs-2008-r2-and-sharepoint-2010-performance-issues
- http://www.sqlchick.com/entries/2011/1/25/whats-up-with-the-slow-ssrs-r2-rendering-in-sharepoint-2010.html
- http://blogs.msdn.com/b/prash/archive/2011/06/11/performance-of-ssrs-in-sharepoint-mode-reports-in-full-page-view-in-sharepoint-2010.aspx
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
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:
- SSRS 2012 Installation – Liam Cleary: http://blog.helloitsliam.com/Lists/Posts/Post.aspx?ID=66
- Installing SSRS 2012 without upgrading your DB Server: Todd Klindt: http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=324
- MSDN: http://technet.microsoft.com/en-us/library/hh231671.aspx