Caching Performance Analysis in Demandware
By Shane Soifert, Technical Lead
A slow-loading eCommerce website affects conversions and revenues. Kissmetrics reports that 40% of website visitors will abandon a website with page load speeds over three seconds. In addition, Google’s page ranking uses load time as a factor.
So how do you help satisfy shoppers and search engines?
The first step is to recognize how eCommerce sites have increasingly gotten more content rich and interactive. As a result, the code has become more complex. More user interface elements, Javascript, CSS, 3rd-party tags and other items place huge demands on the three tiers of a Demandware stack.
The web tier, at the top level, is comprised of server(s) which send browser requests to the application tier. The application tier is responsible for executing code and business logic to serve up the proper HTML to the browser. The final tier is the database tier, which consists of multiple databases for storing information used to create pages. Both the application and database tiers require a great deal of processing power to do their work and can cause performance issues if accessed too many times especially under heavy site load.
Taking some of the load for creating pages off the application and database layers will speed up the system. The way to do this is through caching, which refers to information (or a web page) that is stored so it can be quickly accessed at a later time.
Identifying Performance Issues
The way to determine where there might be opportunities to improve site speed is through profiling. This type of performance analysis measures the behavior of a program as it executes, particularly the frequency and duration of function calls.
The Demandware suite has caching and pipeline profilers built into it to find strong and weak points of the site. Typical pipeline profiling is executed during load testing. The objective is to identify any pipeline results that exceed 250 milliseconds if cached and three seconds for non-cached components.
Analyzing the Data
Now that data has been collected, the goal is to isolate problem areas that exceed the above mentioned standards. After identifying problem areas, you’ll need to use the cache profiler to find more detail on which specific areas of pipeline execution are causing the excessive load times.
The caching profiler shows detailed information on the pipeline and template names, processing time, caching status, expiration date and time. The profiler can be accessed by clicking the Demandware icon in the upper left hand corner of any storefront page (if enabled in site preferences) and then clicking cache information. Red icons indicate pages that need to be addressed for caching. Green icons indicate pages that load within the acceptable range.
Closing Thoughts
While caching isn’t the only way to increase performance on an eCommerce site, it’s regarded as one of the most important areas on which to focus. Armed with the information from a cache performance analysis, you can begin to develop a strategy to make sure pages load in less than 2 -3 seconds.
Check out our Demandware page to learn more.
Shane Soifert is a Technical Lead on the LYONSCG implementation team and has been building Demandware websites since 2011. He loves nothing more than enjoying the ocean in the summer and skiing or snowmobiling in the winter.