SharePoint 2013 Development Environment
Creating a SharePoint development environment is a task that can be challenging because the aim is to produce a usable environment, often on resource-constrained hardware. Keep in mind that no amount of tweaking will yield a satisfactory result unless your machine meets the minimum requirements for SharePoint 2013. Here are some tips to keep your dev box humming along nicely:
- Memory – use as much of it as you can. 8 GB is the absolute minimum and even this amount may cause you some problems. If SQL Server starts paging to disk you’ll get no work done.
- When using a hypervisor such as Hyper-V make sure you allocate more than 1 CPU core to your SharePoint VM.
- Set a maximum server memory limit in SQL Server.
- Don’t create a search service application unless you need one. Those noderunner.exe processes will gobble up lots of memory. You can limit the memory usage by editing the noderunner.exe.config file located in C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0. Look for the memoryLimitMegabytes attribute.
- If you have a search service application disable continuous crawling and don’t set any crawl schedules. Crawl your content when you need to.
- Use Set-SPEnterpriseSearchService -PerformanceLevel Reduced to reduce the CPU impact the search service has on your dev environment.
- Pause the search service application if you’re not using it.
- Keep the number of web applications to a minimum. Lots of IIS application pools means increased memory usage.
- Configure an agressive diagnostic log storage limit. You probably won’t need days or weeks of trace log history at your fingertips.
- Set the recovery model of your SharePoint databases to Simple. This will eliminate the need for a SQL maintenance plan. Many developers overlook SQL log file rotation until their dev machine runs out of storage.
- Disable usage data collection (unless you need it).
- Don’t use your regular domain account to run SharePoint services and don’t make it a local administrator of your development box. Develop and test using different user accounts.
- Keep in mind that these tips are designed to make your personal development environment responsive and easy to work with. A production SharePoint environment would not need these changes as it should be properly resourced and managed.