Following on from my first introduction to Sitecore.Boost post, I have made some further improvements.
Before delving into the results of the announcement, Sitecore.Boost patches will also work for Sitecore pre 8.1 😉
You can find the project here: https://github.com/cardinal252/Sitecore.Boost
A small update has been released for Sitecore.Boost. This update results in the following:
- An approximate 61% improvement in rendering performance over Sitecore 8.1 OOTB
- An approximate 84% improvement in rendering performance over Sitecore 8.2 OOTB
Using all boost patches on both 8.1 and 8.2, this results in Sitecore 8.1 being 67% faster than Sitecore 8.2. Sitecore 8.1 is still slower than its predecessors, so the trend continues – at least this takes it some of the way back 😀
Happy boosting 😉 😀
For a while now, I have been (not so) quietly working away on performance testing on various codebases as well as Sitecore itself for varying clients and my own satisfaction.
You can find it here: https://github.com/cardinal252/Sitecore.Boost
What is it?
With the concepts behind some of this work, I decided to create an open source project to allow others to see what has been done and contribute their production tested performance patches for the Sitecore platform.
This project contains a test harness setup complete with jMeter tests & serialized content.
The test content when deployed renders ‘Hello World’ renderings varying by the following:
- Number of renderings – 10 to 25
- Output Caching – Cached on Item, Cached on Standard Values, Cached on Rendering Definition, Uncached
- Rendering type – Controller / View Renderings
- Model – With / without
By putting the Sitecore rendering engine under load and performing profiles (using your tool of choice), many areas of Sitecore have shown consistent traits that can benefit from optimisation to their code.
Being a sell sword, I can comment on a lot of different stacks (along with providing my preferred). Following on from a discussion Sitecore Community – CI / CD I thought I would share my thoughts a little on this subject:
Fundamentally most Continuous Integration / Delivery environments involve the following elements (in a very rough ordering): Source Control > Build Tool > Automated Testing Tools > Code Metrics Tool(s) > Deployment Tool(s) > Sitecore Content Deployment Tools > Environment Scaffolding > Monitoring
Before I go any further, I think I should state what I believe to be the MOST important goals of your CI build environment.
- The simplest to manage / manipulate. The tooling should get out of you way and soak close to zero time.
- Should be maintainable by the majority of the development team, not ‘key holders’.
- Deployments should be done by non-developers.
- It just works – once set up, you shouldn’t have to tinker with it.
My biggest bug bear of any system is where only the Solution Architects / Team Leads can manage the build process. QA’s testers / product owners should be responsible for sending stuff to QA / Production (if there is to be ANY human involvement at all).
So hear it is split down by element: