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.

Windows server

To have an optimal performance of the servers you need to select “Adjust for best performance”

1

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.

2

In the power options in the control panel, pick the following setting

3

It’s also recommended to split up into multiple drives to reduces disk I/O.

5

SQL Server

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.

8

For SharePoint the Max Degree of Parallelism should be set to 1

9

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.

10

Set the fill factor to 80

11

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

SharePoint 2016

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.

13

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.

 

Ruben Plehiers

Ruben Plehiers

Senior SharePoint Consultant @ Spikes

Advertisements