I’d like to preface this post with that fact that I will not be focusing on high-availability, disaster recovery, Site Collection and Database allocation, disk subsystems, physical verses virtual server environments, bandwidth, and backups.
Perhaps it is a combination of Microsoft’s release cycle and the changing of the seasons but lately I have been seeing an influx of SharePoint 2016 On-Premise deployments. Most of these SharePoint 2016 On-Premise deployments are upgrades to SharePoint 2010 and SharePoint 2013 On-Premise environments for customers whose organization is not Cloud ready yet for one reason or another. This recent end of the year demand has led me to come up with a way of comparing Office 365 SharePoint and SharePoint 2016 performance and readiness experience.
The Client’s whose deployments I would like to ‘blog’ about are ranging from 150-500 users with approximately 2 terabytes of SharePoint content.
If we follow Microsoft’s performance scaling for my SharePoint 2016 environment, Microsoft would recommend the following approximate configuration.
Server Specifications – Sample 1
Server | Item | Quantity |
SharePoint 2016 Application / Web Front End | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 300GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SQL Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 2000GB | ||
E Drive: 2000GB | ||
L Drive: 2000GB | ||
T Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SQL Server Standard 2016 |
While the above configuration will run SharePoint 2016 the first performance concern we will notice will be related to Search Indexing.
When we attempt to index and crawl content in the above configuration, the page serving performance of our SharePoint environment will be dramatically degraded. To solve that challenge we need to add at least one dedicated Indexing / Crawling Server.
Server Specifications – Sample 2
Server | Item | Quantity |
SharePoint 2016 Application / Web Front End | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 300GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Index | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 400GB | |
D Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SQL Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 2000GB | ||
E Drive: 2000GB | ||
L Drive: 2000GB | ||
T Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SQL Server Standard 2016 |
Of course, now we will have adequate page loading times without performance being degraded by Search Indexing, however our Search Query performance may slow. To address this performance degradation, we will need to add a dedicated Search Query server.
Server Specifications – Sample 3
Server | Item | Quantity |
SharePoint 2016 Application / Web Front End | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 300GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Index | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 400GB | |
D Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Query | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SQL Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 2000GB | ||
E Drive: 2000GB | ||
L Drive: 2000GB | ||
T Drive: 500GB | ||
Operating System | Windows Server 2016 |
Now we will have adequate Search and page loading performance, but what if we start to utilize a lot of background services and workflows, our page load times will decrease as our Application server is also our Web Front End, so again, we must increase our server footprint.
Server Specifications – Sample 4
Server | Item | Quantity |
SharePoint 2016 Application | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 300GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Web Front End | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Index | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 400GB | |
D Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Query | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SQL Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 2000GB | ||
E Drive: 2000GB | ||
L Drive: 2000GB | ||
T Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SQL Server Standard 2016 |
And last but not least, our user base really would like the features of Office Online Server with the ability to Co-Author and work on Microsoft Office documents within the web browser, so once again, we must expand our configuration to the following.
Server Specifications – Sample 5
Server | Item | Quantity |
SharePoint 2016 Application | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 300GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Web Front End | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
Office Online Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Index | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 400GB | |
D Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SharePoint 2016 Search Query | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 100GB | ||
Operating System | Windows Server 2016 | |
Application | SharePoint Server 2016 | |
SQL Server | CPU | 4 Cores – 64bit |
RAM | 24GB | |
Approximate Hard Drive Configuration | C Drive: 100GB | |
D Drive: 2000GB | ||
E Drive: 2000GB | ||
L Drive: 2000GB | ||
T Drive: 500GB | ||
Operating System | Windows Server 2016 | |
Application | SQL Server Standard 2016 |
As you can see, without mentioning backups, high-availability, and disaster recovery; the footprint for a SharePoint 2016 On-Premise environment with comparable performance to SharePoint within Office 365 will be rather large and costly.