Can your site handle a million person campaign?

In a past article, I listed 27 tips to ensure optimal Sitecore performance; if only it was that simple. The reality of a modern marketing platform is that you will inevitably have peaks and valleys in traffic that are driven by seasonality and campaign activity. The 27 tips are a great place to start, but to move to the next level you need to plan for elasticity. The notion of elasticity is not new, but there are a few Sitecore specific considerations.

Adding resources and cache size limits

More users requires more computing power to service requests and more memory for user specific caches. Adding resources to a virtual host is a great way to manage the requests, but Sitecore can only take advantage if the cache limits have been updated in Sitecore. The prime candidate is the HTML cache size for the website. By default it is only set to 10MB; 100MB or more is more appropriate in our experience. If your virtual machine / cloud provider scales automatically, you’ll need something to trigger the cache size update in Sitecore.

Adding servers - Everything is content

When configuration settings are stored and managed in the web.config or content authors rely on the file system for CSS or JavaScript, it becomes very difficult to ensure a multi-server environment is synchronized. Any change that is not part of the release to the production deployment process should be part of the content database. That includes configuration settings, CSS/JS assets and anything else they may need. This allows your VM image to be based on the latest deployment package, minimize complexity and reduce the time to launch a new node.

Just a note – adding a new Sitecore server to your production environment does require you having the appropriate licensing.

Edge Network Caching

If you are working with particularly high volume pages, files or images, you’ll want to plan for a Content Delivery Network or explore having your load balancer perform caching of these assets. If this is not an option we’ve also worked with clients to deploy reverse proxy solutions like Apache Squid to serve this function. Just one note – Squid lags on Windows so you may want to consider a Linux powered OS to handle this function.

We have incorporated all of these features and more, in our Keystone Accelerator for Sitecore. If you want to see Keystone in action check out our demo videos.