SharePoint 2016 Fast Site Creation vs. Traditional site creation

Creating site collections in SharePoint has always been a task which requires some patience. It can take a lot of time to create a site. With the release of SharePoint 2016, a new feature is introduced that listens to the name “Fast Site Creation”. I’m not going to explain what it does because there are enough places out there which do an excellent job in explaining it. You can find some here, here, and here.

The basic idea is that the Fast Site Creation feature gives an administrator the ability to create site collections rapidly by offloading the actual creation completely to the database server where a site is created by copying an existing “master” site.

That’s the theory. In this post, I’m going show you the actual difference between both methods in the context of execution time. I have been searching for this on the internet and apparently, everybody who is talking about this feature, is just repeating what Microsoft says. Seems that nobody is actually wondering if this feature is actually faster.

So, I did it myself. I ran some tests, comparing both methods.

My SharePoint 2016 environment has 3 servers. A WFE, APP and a DB server. I’m not using MinRoles since my laptop only has 32GB of RAM and it’s simply impossible to run 5 SharePoint servers and a DC at the same time.

I have a single webapp and 1 content database.

To be able to use the Fast Site Creation feature, I enabled the STS#0 webtemplate for Fast Site Creation using the Enable-SPWebTemplateForSiteMaster cmdlet and I created a new site master using the New-SPSiteMaster cmdlet.

Fast Site Creation - 0

This site master is nicely listed in the list of sites in my database.

To do my tests, I wrote a small script which creates 10 site collections and it times the creation process for each of them. By using a parameter, I specified if the new Fast Site Creation feature had to be used or not.

The first run created 10 site collections with the traditional site creation method.

Fast Site Creation - 1

The time it takes to create site collections ranges from 28 seconds up to 58 seconds with an average of 44 seconds and a total execution time of almost 7,5 minutes. If you have to provision a lot of site collections in batch, you can imagine this taking a lot of time.

Let’s see how the Fast Site Creation handles this. I ran my script again with the Fast parameter set to true and created 10 site collections.

Fast Site Creation - 2

The first thing I noticed during the execution was that when you create a new site, a notification is displayed which suggests a copy operation on the database level and this goes to 100% quite fast. It literally takes just 1 second at the most.

Fast Site Creation - 4

But then it just sits there for a very long time before actually completing the action and ending the execution of the New-SPSite cmdlet. I’m willing to believe that when it reaches 100%, the site is created and perhaps even usable but I would really want to know what is actually happening between the moment it reaches 100% and the actual finishing of the command.

The creation of the sites ranges from 37 to 41 seconds with an average of 40 seconds. That’s only 4 seconds faster than the traditional way of creating sites. The total execution time for the creation of these 10 site collections was 6,5 minutes.

Comparing both results, I gained 1 minute in creating 10 site collections using the Fast Site Creation feature. I’m not sure if you can extrapolate this but suppose you can… when you have to create 1000 site collections, you gain about 100 minutes. All things considered, that’s actually not so bad although I have to admit I expected the difference to be a lot bigger.

I did notice that the creation time using the Fast Site Creation feature is more consistent than the traditional way of creating site collections.

Fast Site Creation - Graph

This makes it more precise to estimate how long a batch script will run to create a large amount of site collections. Before you launch your batch, you just create 1 site collection in the same environment and you multiply this by the amount of sites you have to create and you have a pretty good idea of the total execution time.

Conclusion: Is it faster? Yes! Is it a lot faster? No!