Sitecore Publishing Service 2.0 vs default publishing method

In previous posts we saw what is Sitecore Publishing Service 2.0 is and how to setup a custom publishing target, now we are going to see some comparisons between this new publishing service and the default method that ships with Sitecore.

Before we begin, let’s talk about the provisioning of our servers, the two servers used on these tests were setup in Amazon EC2, using the t2.large instance type. We used SQL Express 2012. One server is located in US West region and the other one in the Asia Pacific region.

Publishing within the same server

The first set of test will be run on the same server, publishing from master into web.

The first test was republishing everything on a new installed Sitecore instance.

Using the default publishing method it took 82 seconds, this is part of the log:

5508 14:13:36 INFO  Starting [Publishing] - ProcessQueue
5508 14:14:58 INFO  Finished [Publishing] - ProcessQueue in 81713 ms
5508 14:14:58 INFO  Publish Mode : Full
5508 14:14:58 INFO  Created : 0
5508 14:14:58 INFO  Updated : 4631
5508 14:14:58 INFO  Deleted : 0
5508 14:14:58 INFO  Skipped : 2

And using the new publishing service in a separete Sitecore instance it took 7.5 seconds, this is part of the log:

2017-03-07 14:26:25.117 +00:00 [Information] Starting to promote Target : "Internet", Manifest : 78ed008d-dc3f-412b-987c-0323a6a5e07f.
2017-03-07 14:26:31.093 +00:00 [Information] Promote completed successfully -> Target : "Internet", Manifest : 78ed008d-dc3f-412b-987c-0323a6a5e07f.
2017-03-07 14:26:31.118 +00:00 [Information] Job Result: c2401a5c-e4a0-4cf2-80e7-2c3ad6cd0411 - "Complete" - "OK". Duration: 00:00:07.5387812

As you can see it was about 10 times faster with the new service.

For a second test, also in the same server, we created a new Sitecore Item with 1003 children items in a bucket:

Testing root item

We published only that item with it’s children and related items using the both methods:

With the default method, it took 23 seconds, this is part of the log:

4708 17:15:58 INFO  [Publishing]: Starting to process 1 publishing options
4708 17:15:58 INFO  [PublishOptions]: root:{AAADCCE3-5FBC-4AA5-AD1E-BC13E1A9CE22}, language:en, targets:Internet, database:web, mode:SingleItem, smart:False children:True, related:True
3660 17:15:58 WARN  DeepItemPublish detected. PublishContext was overridden with DisableDatabaseCaches=True.
3660 17:15:58 INFO  Starting [Publishing] - AddItemsToQueue
3660 17:15:58 INFO  Finished [Publishing] - AddItemsToQueue in 0 ms
3660 17:15:58 INFO  Starting [Publishing] - ProcessQueue
3660 17:16:21 INFO  Finished [Publishing] - ProcessQueue in 22776 ms
3660 17:16:21 INFO  Publish Mode : SingleItem
3660 17:16:21 INFO Created : 1015
3660 17:16:21 INFO Updated : 4
3660 17:16:21 INFO Deleted : 0
3660 17:16:21 INFO Skipped : 3

And with the new service, it took 2.5 seconds, this is the part of the log:

2017-03-07 17:49:58.273 +00:00 [Information] Starting to promote Target : "Internet", Manifest : dcaded48-e2b0-4cba-bda0-0a4c7dd23489.
2017-03-07 17:49:59.975 +00:00 [Information] Promote completed successfully -> Target : "Internet", Manifest : dcaded48-e2b0-4cba-bda0-0a4c7dd23489.
2017-03-07 17:49:59.984 +00:00 [Information] Job Result: 0746edb7-07eb-4878-8d9b-1815f414d66c - "Complete" - "OK". Duration: 00:00:02.3869474

In this case, the new service was the winner again, about 9 times faster than the default.

Publishing from one server to another

The last test we did was to publish the Testing Root item and it’s children and related items from the US instances into the ones in Asia Pacific using both services.

Using the default method it took 3616 secods, this is part of the log:

8816 15:06:08 INFO  Starting [Publishing] - AddItemsToQueue
8816 15:06:08 INFO  Finished [Publishing] - AddItemsToQueue in 0 ms
8816 15:06:09 INFO  Starting [Publishing] - ProcessQueue
8816 16:06:26 INFO  Finished [Publishing] - ProcessQueue in 3616846 ms
8816 16:06:26 INFO  Publish Mode : SingleItem
8816 16:06:26 INFO  Created : 1015
8816 16:06:26 INFO  Updated : 4
8816 16:06:26 INFO  Deleted : 0
8816 16:06:26 INFO  Skipped : 3

Now, using the new publishing service, it took 16 seconds (that is 226 times faster!):

2017-03-08 15:48:42.473 +00:00 [Information] Starting to promote Target : "Singapore", Manifest : 425eb2b6-e522-4ff8-a471-78a471942c72.
2017-03-08 15:48:52.650 +00:00 [Information] Promote completed successfully -> Target : "Singapore", Manifest : 425eb2b6-e522-4ff8-a471-78a471942c72.
2017-03-08 15:48:52.851 +00:00 [Information] Job Result: 9caa1fce-2c40-4417-a90a-bfeecaf7cc6c - "Complete" - "OK". Duration: 00:00:16.6125495

Conclusion

As a conclusion, after seeing the results of these tests, we can say that it really does what it advertises, it is really fast, about 9 o 10 times faster within the same server and publishing from one server to another it is 226 times faster, so it is great for Content Delivery servers scenarios.

Hope this help and if you ran similar tests please let us know your results.

Sitecore Publishing Service 2.0 vs default publishing method
Tagged on:         

Leave a Reply

Your email address will not be published. Required fields are marked *