Sitecore performance issues are frustrating for everyone who uses or visits your website. When your site underperforms, it frustrates your customers and makes them lose faith in your business. That can cost you traffic and sales.
Slow-loading Sitecore sites also create problems for everyone at your office, from the IT folks who can’t keep up with the support tickets in their queue, to the marketers entering in those tickets in the first place.
A poor-performing Sitecore implementation slows down your site, and it slows down your business. But, if you’re having Sitecore performance issues, there is good news: It’s not the platform.
When Sitecore is set up properly, it should load fast enough to make everybody happy. If you’re experiencing performance issues, there’s always a technical reason. It just takes some expertise to figure out what that reason is.
5 top causes behind Sitecore performance issues
At Engagency, we’ve spent the last decade supporting Sitecore customers. Those ten years have given us a lot of insight into the powerful functionality of this platform, and what it can do when it’s implemented properly.
Unfortunately, we’ve also seen firsthand how an implementation can go wrong, when our customers call us in to fix a poorly architected solution from their former Sitecore vendor.
Here are the top culprits we’ve identified that cause Sitecore performance issues:
1. Configuration issues
Configuration issues can slow your Sitecore implementation down to the pace of a crawl. Here are just a few of the most common configuration issues:
If MSSQL is not configured to cap memory usage at ~90% of the total RAM available to the system, the OS may begin to swap SQL data, resulting in poor performance.
If indexes are set to index all fields, or more content than is necessary, queries will be slower.
Sitecore configuration issues often revolve around media. Sitecore stores most media in the database. If caching is improperly configured, Sitecore has to pull the media from the database and resize it every time a page is rendered, resulting in longer wait times for your site visitors. Additionally, if Sitecore is configured to fetch media using /~/media (the old way) instead of /-/media (the new way), media requests may not perform as well.
2. Caching issues
Poor caching configuration can also create Sitecore performance issues. HTML caching may not be set up on renderings, or if it is set up, it is set up incorrectly, causing Sitecore to use additional resources to render content repeatedly. Additionally, the data cache may not be tuned appropriately for your site's traffic and content needs, and Sitecore may have to fetch data from the database more frequently.
3. Poorly written code
Poorly written code isn’t just a telltale sign of an inexperienced developer; it can also slow down your site. When the code of your Sitecore site isn’t maintained (or was written poorly to begin with), it can result in performance issues.
For example, if your code relies on Sitecore queries, or fast queries, instead of indexes, it will take longer to search many items or large branches of the content tree.
Or, if you have leftover code that was rendered obsolete by a rewrite, and you don’t remove it, it can slow down Sitecore when it starts up, and require more resources to power the solution.
4. Inadequate hosting environment
If your Sitecore solution was set up on an inadequate hosting environment, your site won’t perform as well as it needs to. Your Sitecore environment may not have enough instances, or your instances may not have enough CPUs to handle the traffic load.
Often, the hosting issues we’ve seen happen with Sitecore depend on what type of hosting you’ve selected.
When you’re hosting Sitecore on Microsoft Azure, app services may not be configured to use the appropriate tier, or SQL databases may not be configured with an appropriate compute size (number of DTUs).
When you’re hosting Sitecore on physical hardware, environments with heavy traffic may require SQL Server Enterprise, even though SQL Server Professional is more commonly used. SQL Server Professional limits the number of CPUs and system RAM that can be used by MSSQL; SQL Server Enterprise doesn’t have this limit.
Sometimes customers try to save money on hosting costs, by deploying less RAM than is necessary. However, this can prevent your ability to configure HTML or data caching appropriately, because both caching methods use system RAM.
5. Poor housekeeping
Sitecore’s complex databases lean heavily on MSSQL indexes. Over the course of time, if not properly maintained, these indexes become fragmented, making it much more difficult for Sitecore to retrieve data quickly.
Since Sitecore natively stores media items such as images, videos, and documents in its media library, those items consume the vast majority of the space used by its content databases. If unused or outdated items are not routinely removed, the media library becomes bloated, causing your database server to take longer and work much harder to retrieve media items.
Fixing your Sitecore performance issues
As you can see, Sitecore performance issues are always fixable. You just need the right partner who knows what they’re doing—or who can figure out what your previous partner did wrong.
At Engagency, whenever a new customer comes to us with Sitecore performance problems, we recommend a Sitecore Implementation Audit. During the audit, we comb through your existing Sitecore implementation. We’ll uncover missteps that cause the performance issues we’ve identified here, and outline a plan of attack for resolving them and getting your solution back on track.
Ready to resolve your Sitecore performance issues? Contact us now to request a quote and see sample audit reports.
To download this article as a PDF to share with your team, click here.