Last Friday I attended the Kentico Rocky Mountain User Group meeting where I had the opportunity to meet with nearly 40 other Kentico enthusiasts at National Jewish Health in Denver, CO. Samantha Reeves, Aaron Hoy, and Blue Modus’s Dave Condor discussed the experience that National Jewish Health has had with Kentico and how Kentico has streamlined and improved their content management and marketing abilities. In this post, I will summarize the talk that Kentico Technical Evangelist Bryan Soltis gave on how to optimize Kentico for performance and speed.
Bryan first recommended determining where performance issues may be arising by pinpointing the issue using the Kentico event log, debug information, windows event log, visual studio debug, or SQL profiler. Then Bryan reviewed some of the most prominent performance issue areas, detailing what might be slowing down the CMS, and showed us how to fix those issues.
Having too many queries and trying to get too much data are the main things that cause performance issues. Nested repeaters, multiple macros in transformations, and inefficient mega menu implementations could all result in too many unnecessary DB queries every time the page loads.
Ensure that you are limiting the columns requested to only the columns needed, use caching where possible. Also try to clear up as many 404 errors a possible since Kentico has to look in a number of places to try to find a page, ensure images are sized properly and that script files are combined and minified.
Site configuration & architecture
How complex is your site design? How many pages are under a node? Are you using caching on your site? These are important things to consider as they have a dramatic effect on performance. Also check the configuration settings for how far back analytics data is stored, unnecessary logging of tasks, and how many versions of pages are set to be stored. If you have 10 versions of 10,000 pages, the data adds up fast!
Depending on your company’s needs, determine how far back analytics data needs to go & set this in Kentico since it’s not set by default, determine how many versions of pages & objects really need to be stored. If you have too many nodes, consider storing the data elsewhere in the CMS such as in custom tables.
Ensure that you are using best practices when writing custom code. Limit the number of SQL queries, cache data from the database, use shared datasets so there are fewer calls, and don’t log unnecessary tasks. One of the major issues affecting performance is bad data management, so be careful with how you store and retrieve data.
When it comes down to it, you can avoid a lot of performance issues by using common sense, understanding your environment and how you are using data, and evaluating and testing your implementation. Finally, don’t forget to optimize your master page, it loads on everything! Learn more about Kentico EMS Performance and Optimization.
If you are in the Colorado Rocky Mountain area and want to learn more about Kentico or mingle with other kentico enthusiasts, check out the Kentico Rocky Mountain User Group page for updates on our next meeting!