Establishing a baseline during development
Website performance is critical to all our clients at Carbon Six Digital, and we work hard to simulate and monitor real world performance during development, then we setup monitoring tools to make sure that we maintain great performance in production.
During development we run Lighthouse and PageSpeed Insights to establish a baseline of performance, as perceived by Google, as this is a really strong predictor of how well a page will rank in Google in the future.
However, Lighthouse and PageSpeed Insights only review and give feedback on individual page requests. They don’t give a view as to performance in the real world with multiple users interacting with the site in different ways. One of the most important aspects of performance monitoring is load testing where our team simulate real-life user load to ensure sites meet client’s performance requirements. It tells us how many simultaneous users the website can handle and how sustainable it is at the peak of its user load.
Load testing with k6
We use k6 previously known as Load Impact, as our load testing tool. This allows us to create tests defining the length of time, pages, number of concurrent users and from what part of the world. For example, on an ecommerce website it is critical that product catalogue and product pages can handle high user load, especially around product launches, so we would configure tests that simulate high user load based on our understanding of real world usage based on session data from Google Analytics.
The output of the tests are key performance indicators such as page response times, as well as detailed statistics such as CPU and memory usage. This then gives us and the client confidence that the site can meet their performance requirements.
Website monitoring in production
In production, to monitor website uptime we use Uptime Robot which automatically creates a support ticket, alerting us when the site is down or suffering from poor performance. For cloud hosted sites we use CloudWatch Alarms on AWS and Application Insights on Azure to monitor and alert the support team when resource thresholds are exceeded or instance status checks fail.
Site performance is always important to clients, for some it’s at the forefront of their requirements, while for other clients it only becomes apparent that it’s important when the site fails to meet their unstated expectations. Our approach of performance testing during development and monitoring during production means that the site meets their needs.
For the full blog article from Umbraco HQ click here