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.

  1. RAM (16 GB+ for WFE and 32 GB+ for DB)
  2. All 64 bit servers
  3. Disk I/O – not only the content DB but temp and search DB– during crawls [1]
    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
    2. Separate the TEMPDB into its own fast physical disk
  4. Network cards – half/full duplex – GB NIC Speed
  5. Surface area configuration – TCP + named pipes
  6. Topology choices (i.e. ensure index server crawling own WFE)
  7. Offload index to a dedicated WFE [2]
  8. Defrag DB’S [10] and file system [11]
  9. Index/Crawling frequency, threads  and tuning – robots.txt [3]
  10. Make sure DB’s have adequate space to grow
  11. Change Backup strategy – high disk i/o – stsadm –o backup inefficient, use SQL backup [4]
  12. Split SP Logs from system drive
  13. Profile Import – high CPU – use better filters [5]
  14. Disable unneeded timer jobs [6]
  15. Delete unused sites/web apps
  16. Limit content DB to max 50 GB, 12 GB for individual site collections and software boundaries [7]
  17. Watch out for SQL blocking [8]
  18. Large list problems [9]
  19. Turn on BLOB files (web.config) settings
  20. Turn on Object Caching
  21. Turn on Output Caching
  22. Turn on Cache Profiles
  23. Closed/Open web parts – ensure no closed on page and test for non-performing custom web parts by removing and readding
  24. SPDisposeCheck on all code
  25. Run VS.NET Code Analysis performance checks
  26. 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://sharepoint.microsoft.com/blogs/fromthefield/Lists/Posts/Post.aspx?List=0ce77946%2D1e45%2D4b43%2D8c74%2D21963e64d4e1&ID=11

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

[8] http://blogs.msdn.com/b/grahamk/archive/2009/06/15/troubleshooting-sql-server-deadlocks-and-performance-when-running-sharepoint.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

 

Technorati Tags: ,,

Leave a Reply

Your email address will not be published. Required fields are marked *