SharePoint Performance – Back End Tuning
In my previous articles on SharePoint performance tuning, I discussed Front-End performance issues. Those tips were to improve performance to your environment, but if you neglect the final piece of the puzzle – Back End performance optimization for SharePoint – you won’t get serious results:
- Hardware Bottlenecks: You should constantly monitor system resources on SharePoint Servers and SQL Servers – CPU, Memory and Disk I/O should all be monitored if any of these are showing signs of strain you should consider upgrading your hardware.
In most cases – Disk I/O on SQL Server is the bottleneck for SharePoint performance and ironically it is often a neglected issues and is frequently not included in performance monitoring.
One strong tip for SQL Server I/O is to split your databases into dedicated RAID systems, for example: store Content Databases of your application on 4 SAS/SCSI storages in Raid10 mode, and the Search, TempDB (these two are the most I/O consuming) on the even better and faster dedicated storage. Avoid keeping all the databases in one physical hard drive/matrix.
- SQL Indexing – Keep your indexing parameters optimized in your SQL Server Databases. Create and run at least once a week SQL Server job with “Rebuild Indexes” and “Update Statistics” tasks. You can view your indexation and defragmentation state by running ODBC_CHECKDB on the content databases.
- Warm Up your IIS Server – After pool recycling, restarting your IIS Server etc., the front end servers will lose their cached data and all site elements will need to be reloaded resulting in slow performance. Usually the first main page rendering is extremely slow, but there is a way to avoid that. Use Application Warm-Up.
The Application Warm-Up extension can be deployed in a IIS 7.5 environment (Windows Server 2008 R2 native). This extension pre-loads all the site content before the first user-requests a page from IIS. By preloading the web application, the IIS worker processes reduce the time needed to render the site and respond to the first request. The IIS Application Warm-Up can be downloaded at http://www.iis.net/download/applicationwarmup
- Content Compression – Ensure that Dynamic Compression and Static Compression in IIS 7/7.5 is enabled. This can greatly reduce the network bandwidth requirement which is especially important in WAN wide networks.
- Move extensive farm services to dedicated servers – If you are experiencing slow performance, and you need to improve it at any cost – add more servers to a farm. If you currently have Front-End role and Query, Indexing, Office Web Apps role on one physical machine, It likely that you will experience slow performance on SharePoint sites. In this circumstance you should choose the path to split the extensive roles to dedicated servers, so that the Search Query, Search Indexing, Front End and Office Web Apps will be stored on separate physical machines.
I hope I covered most of the performance tips you can deploy in your farm. Please let us know if you have any additional tips you would like to contribute.