There are lots of things you can do to make SharePoint go faster.
This blog aggregates some useful information I’ve leveraged. Will continue adding as I learn more. Figured it would be good to have the info aggregated in one place.
- Infrastructure
- Move TempDB & Database log files to separate drives
- Consider content db strategy for different types of SharePoint sites (intranet vs. collaboration vs. public)
- Content db size limits are there to ensure backups can run quickly
- Don’t use default db growth settings: http://www.benjaminathawes.com/blog/Lists/Posts/Post.aspx?ID=5
- Registry Setting
- The windows server will routinely call to Microsoft to check licensing. If you are on a VM that has blocked network this will cause slowdown in performance. To fix it, copy the following into a .vbs file on your server and run it with a cscript command from the command prompt:
| const HKEY_USERS = &H80000003 strComputer = "." Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\default:StdRegProv") strKeyPath = "" objReg.EnumKey HKEY_USERS, strKeyPath, arrSubKeys strKeyPath = "\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing" For Each subkey In arrSubKeys objReg.SetDWORDValue HKEY_USERS, subkey & strKeyPath, "State", 146944 Next |
- IIS
- Run a warmup script
- http://spwakeup.codeplex.com/ or
- http://nearbaseline.com.au/blog/2010/02/powershell-warmup-script-2/ (Powershell)
- Run IIS 7.5 warm-up module - http://www.idocs.info/index.php/2010/09/warm-up-sharepoint-2010-on-w2k8r2-using-iis-7-5-app-warm-up-module/
- Cache - http://www.zimmergren.net/archive/2011/01/09/sp-2010-developing-for-performance-part-3-caching-in-sharepoint-2010.aspx
- BLOB cache (cache files on WFE)
- Output cache (cache rendered ASPX files in memory)
- Object cache (cache SP object metadata on WFE)
- Search or User Profile sync scheduling – these are super intensive processes that will slow down your server. Verify that they are scheduled to run during non-peak hours.
- You should only run the full crawl once or when needing to reset your crawls.
- Otherwise, only run incremental crawls
- Logging
- Turn logging down in non dev environments if not needed for troubleshooting
- Health Data Collection may also be logging more data than is necessary
- Services
- Do not turn on all the service applications by default. Turn on only the ones required for the implementation.
- Custom Dev
- Disable Loopback Check - http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx
- Use the developer dashboard to figure out which parts of your page running slowly - http://blogs.technet.com/b/speschka/archive/2009/10/28/using-the-developer-dashboard-in-sharepoint-2010.aspx
- Use SPDisposeCheck to check for memory leaks in custom code - http://archive.msdn.microsoft.com/SPDisposeCheck
- Other great links regarding performance:
- http://www.aptimize.com/Upload/docs/SharePoint-Performance-Optimization-10-Steps.pdf
- What SQL DBAs need to know about SharePoint - http://www.slideshare.net/jdwade/sharepoint-for