Small things matter most, and this is not only true for day to day activities. Minor changes in application configuration can have a significant impact on end to end user experience. In this post, I will give you insights into the nature of such changes and some simple steps towards proactive detection of speed degradations.
Changes and their Impact
Frequent modifications in the look and feel of websites are very much appreciated. Nowadays, websites are not only used for advertisement or gain commercial revenue. Companies try to stand out of the crowd and design websites which underline their image. Navigation has become easier since web designer understood that the number of clicks required to buy products is essential for their business.
Very common web page design failures are the absence of compression, large images, blocking java scripts and videos in auto play mode. Software test professionals are extremely familiar with those nasty pitfalls. They detect and eliminate those during QA stages. However, once the new business application has been deployed at production, nobody cares about the impact of this minor changes and slowly the speed of the former quick loading website is gone. Suddenly, frustrated users drop their shopping trip on your side, and financial revenue declines.
Automated detection of slow downs
You can avoid this frustrating scenario above. It’s not a rocket science and eventually easier than you could imagine. Quality assurance does not end post deployment of the new website on production. You won’t have a test plan for your live system, but an automated health and performance monitoring solution with significant test cases is required.
There are great cloud-based or locally hosted monitoring platforms out there which you can use. Replace the reactivity with a proactive health monitoring solution. Automation is a great feature when it comes doing repetitive things such as periodically execution of your monitoring test cases. Setup the performance and availability boundaries and let alerts flow out if your website slows down for whatever reason.
It’s good to now that the speed of a website is below expectations, but this helps you nothing if nobody is there who dives deeper, understands the cause and fix this issue. As already mentioned above there are those minor adjustments which could impact the end-to-end response time. Based on my experience, a good way to detect the real problem behind a slowdown is to implement QA checks used on testing stages also on production.
As a performance engineer, I verify page design of new applications on pre-production. Google and Yahoo provide powerful tools which make this analysis quite easy. The good thing is that those solution detects issues and provide more insights to the actual root-cause such as disabled caching, large images or blocking java scripts. It makes much sense that your health monitoring solution also checks the page speed score of your web pages on a regular basis.
Recently, during some research for another paper, I became aware that automated page design analysis is almost for free. In my next post, I will outline how you could implement your self-made automated page design monitoring solution based on PhantomJS, Netsniff.js, and Yslow.