I thought I would put together a quick combined list of all the items you should consider when performing a production SharePoint deployment or when trying to debug or optimize performance on a SharePoint 2007 farm. I have referenced some good blogs or articles if you would like more information on most of them. Please comment below if you have more, I will add it to my list.
- RAM (16 GB+ for WFE and 32 GB+ for DB)
- All 64 bit servers
- Disk I/O – not only the content DB but temp and search DB– during crawls [1]
- Everything written to TEMPDB first! So split out temp and search into multiple same size data files to match number of SQL processors and over separate physical disks
- Separate the TEMPDB into its own fast physical disk
- Network cards – half/full duplex – GB NIC Speed
- Surface area configuration – TCP + named pipes
- Topology choices (i.e. ensure index server crawling own WFE)
- Offload index to a dedicated WFE [2]
- Defrag DB’S [10] and file system [11]
- Index/Crawling frequency, threads and tuning – robots.txt [3]
- Make sure DB’s have adequate space to grow
- Change Backup strategy – high disk i/o – stsadm –o backup inefficient, use SQL backup [4]
- Split SP Logs from system drive
- Profile Import – high CPU – use better filters [5]
- Disable unneeded timer jobs [6]
- Delete unused sites/web apps
- Limit content DB to max 50 GB, 12 GB for individual site collections and software boundaries [7]
- Watch out for SQL blocking [8]
- Large list problems [9]
- Turn on BLOB files (web.config) settings
- Turn on Object Caching
- Turn on Output Caching
- Turn on Cache Profiles
- Closed/Open web parts – ensure no closed on page and test for non-performing custom web parts by removing and readding
- SPDisposeCheck on all code
- Run VS.NET Code Analysis performance checks
- Eliminate the page weight by getting rid of large javascript files [12]
References
[1] http://technet.microsoft.com/en-us/library/cc262067.aspx
http://technet.microsoft.com/en-us/library/cc298801.aspx
[2] http://blogs.msdn.com/b/joelo/archive/2007/02/06/use-a-dedicated-web-front-end-for-crawling.aspx
[3] http://support.microsoft.com/kb/837847
http://technet.microsoft.com/en-us/library/cc788931(office.12).aspx
[4] http://technet.microsoft.com/en-us/library/cc901593(office.12).aspx
[5] http://blogs.technet.com/b/seanearp/archive/2009/03/04/sharepoint-profile-cleanup.aspx
[6] http://technet.microsoft.com/en-us/library/cc678870.aspx
[7] http://technet.microsoft.com/en-us/library/cc262787(office.12).aspx
[9] http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&ID=84
[10] http://support.microsoft.com/default.aspx?scid=kb;EN-US;932744
http://blogs.technet.com/b/wbaer/archive/2007/06/04/site-collection-sizing-considerations.aspx
[11] http://support.microsoft.com/kb/943345/
[12] http://www.sharepointnutsandbolts.com/2011/01/eliminating-large-js-files-to-optimize.html