In this blog post you can find some information in order to have the most optimal performance in your SharePoint 2016 farm.
Below you’ll find some guidance on Windows Server, SQL server & SharePoint server level.
To have an optimal performance of the servers you need to select “Adjust for best performance”
Following thing is adjusting the page file. It’s recommended that you set this to minimum 1.5 times the amount of server RAM. So in case your server has 16GB RAM, you’ll need a page file with a minimum size of 24GB. Ideally you also have a dedicated disk for this page file as shown in the screenshot below.
In the power options in the control panel, pick the following setting
It’s also recommended to split up into multiple drives to reduces disk I/O.
To have an optimal performance of you SharePoint farm, it’s recommended to install a dedicated SQL server for SharePoint. So it’s not designated to host other databases which are not used for SharePoint.
Following thing you need to keep in mind is the Collation, for an optimal performance in your SharePoint farm you’ll need to set it to Latin1_General_CI_AS_KS_WS
One of the most important SQL Databases with regards to SharePoint is the TempDB. Most SharePoint performance issues are due to improper SQL configuration and more importantly, not giving enough thought to the TempDB itself. In SharePoint, every action that you take is staged in the TempDB before it is committed.
So I advise to add as much TempDB files as the amount of processors in your server with a maximum of 8. The size should be set to 25% of your largest content database.
When using SQL Server 2016 you’ll be able to specify the TempDB’s settings during the installation configuration. In older versions you need to adapt them after the installation.
For SharePoint the Max Degree of Parallelism should be set to 1
It’s also important to set minimum and maximum values for instance memory. The default maximum when doing installation is 2147483647 MB. I advise to set the maximum memory to 80% of the available RAM on the server where SQL is installed.
Set the fill factor to 80
Furthermore, it is also designated to set the auto growth of databases in MB instead of % and to pre-size your databases.
All disk Raid types are supported for SharePoint 2016 but I recommend to use RAID 10 to optimize the performance of you farm.
Some additional estimations of RAM recommended for the server that is running SQL.
|Combined size of content databases||RAM recommended for computer running SQL Server|
|Minimum for small production deployments||8 GB|
|Minimum for medium production deployments||16 GB|
|Recommendation for up to 2 terabytes||32 GB|
|Recommendation for the range of 2 terabytes to 5 terabytes||64 GB|
|Recommendation for more than 5 terabytes||Additional RAM over 64 GB can improve SQL Server caching speed|
For optimizing performance in SharePoint 2016 Microsoft has come up with the new Minrole topology.
Some of the primary benefits to using MinRole are:
- Simplified deployment
- Improved performance and reliability
- Simplified capacity planning and farm scalability
More info about this new topology and the way to implement this can be checked at another blog which I wrote earlier this year. https://spikesapps.wordpress.com/2015/09/22/sharepoint-2016-minrole-farm-topology-installation-process/
Since November Microsoft has also release a minimized Minrole which comes together with Feature Pack1 for SharePoint 2016.
Within this “minimized Minrole” it’s possible to combine the Front-End role with Distributed Cache role & the Application role with the Search role.
On web application level it’s advised to:
- Set quotas on all your Web Application
- Disable Certificate Revocation List
- Use make-up scripts
- To have maximum 10 Application Pools and 20 Web Applications
You also need to keep in mind the different possibilities of caching:
- Distributed cache: provides caching functionality to features (Authentication, Page Load…)
- Object cache: Is used internally store properties of sites, page layouts, and pages. reduces the amount of traffic between the WFE and SQL
- Output cache: Stores rendered output of all controls on a given page, and it also stores several different versions of this pre-rendered page.
- BLOB cache: Disk-based cache that stores files that are used by web pages to help them load quickly in the browser, and reduces the load on the database server when it uses those files.
Keep also in mind that Antivirus will slow down your SharePoint farm.
Minimum requirements for SharePoint 2016
The values in the following table are minimum values for installations on a web and application servers that are running SharePoint Server 2016 in a multiple server farm installation.
For all installation scenarios, you must have sufficient hard disk space for the base installation and sufficient space for diagnostics such as logging, debugging, creating memory dumps, and so on. For production use, you must also have additional free disk space for day-to-day operations. In addition, maintain two times as much free space as you have RAM for production environments.
|Installation scenario||Deployment type and scale||RAM||Processor||Hard disk space|
|Single server role that uses SQL Server||Pilot or user acceptance test installation of SharePoint Server 2016 running all available services for development environments.||24 GB||64-bit, 4 cores||80 GB for system drive
100 GB for second drive and additional drives
|Web server or application server in a three-tier farm||Pilot, user acceptance test, or production deployment of SharePoint Server 2016 running all available services.||16 GB||64-bit, 4 cores||80 GB for system drive
80 GB for second drive and additional drives
Just keep in mind those are just minimum requirements, those must be assessed on the business requirement specific to each customer.