In many of our previous posts we’ve gone into detail on the objectives of load testing, Gatling as a tool, the benefits of Gatling Enterprise, our integrations or even specific industries. However, in this post we’re bringing it back to basics. Why we test. Specifically what are the challenges that can affect all web based enterprises and some of the advantages that you might not have thought about that can be gained through load testing. Web performance is a huge topic and affects both web based applications and web sites. What’s true for one is broadly true for the other and this is a short post so we’ll try to keep it simple.
Having a slow website can have a dramatic effect on your bottom line and user experience. From long load times, to slow load times, to abandonment rates due to poor performance, or even site crashes. Even more significantly, the internet is quickly becoming more mobile focused and sites with long load times will face another set of challenges as much of the world is still using 3G internet speeds for their mobile internet. Below we’re going to look at the issues that you might be facing today and how you can overcome them with a dedicated testing strategy.
In the simplest terms pagespeed is the time it takes for a web page to load. There are countless tools out there that can help you measure your page speed. Some of my favorites are GTMetrix that allows you to get a breakdown of all of the requests that occur when you load a page or the Lighthouse audit that is now built directly into Google Chrome’s dev tools that allows you to perform a quick audit on how your page loads and displays the results with details and a simple score.
While the tools above are great for looking at a page and seeing what requests might be bottlenecks or whether you can minify any of your code for speed improvements, they don’t give you an idea of how your site or requests will handle load. A site that runs fine with one or two users using it might be overwhelmed with hundreds or thousands of users using it at the same time.
Additionally, using a load testing tool allows you to test multiple pages in a row or user journey and can be integrated within a CI/CD pipeline. This allows you to see how users are experiencing your site in a linear fashion and also automate your testing so it’s not something you’re manually running. It takes a lot of the user error out of the equation and allows you to run simple tests for performance regressions every time you make a change or update to your website.
You can have the fastest loading website possible but if you don’t have the right resources to handle your traffic it won’t be accessible to your users.
If you're using a basic web host without auto-scaling you’re likely allowed a certain amount of bandwidth by your host. If you exceed this bandwidth with your traffic new users trying to access your website will start receiving an error. I’ve got a quick example below of the error rate for a website that is going through a capacity test scaling from 0 to 6000 users and added markers for when the site starts experiencing errors. You can see for that the site is experiencing 0 errors for the first 3000 users, after the traffic is raised to 4000 users though the errors start and continue to increase along with the users.
This is an example of how load testing can help you see when you’ll need to add additional resources to handle additional traffic.
If you want to know how these errors and crashes could affect your business check out our blog post, “The Cost of Downtime”, where I go into detail on the subject.
It’s pretty simple, customers hate waiting. Every second your users are waiting for your site to load is time they’re thinking of going somewhere else.
Let’s look at some statistics based on load time so you can get a better understanding of how it affects your users.
According to Portent, every additional second of load times causes conversion rates to drop by 4.42%. When your site is under load with lots of customers and your response times are getting slower and slower you’re losing more and more potential revenue as these conversion rates start to drop.
In 2019, before the pandemic, 70% of customers surveyed by Unbounce stated that pagespeed impacts their decision to buy from an online retailer. Since this survey, online shopping has exploded and shows no signs of slowing down. Speed has never been more important for customer experience.
When you think about load testing you’re probably not thinking about SEO, but you should be! Ranking high on search engines can completely make a business successful and not ranking can destroy you. You can have the better service or product but if your competition shows up first on search results most customers will never find you. In fact 75% of users will never go past the first page of search results according to Hubspot research.
Google is now using pagespeed as a direct ranking factor for search results, as are most other popular search engines, however, there are other factors aside from page speed such as bounce rate, and dwell time also affect the rankings. If you have a website that is slowly loading for thousands of users and they’re leaving or even worse, if your site crashes regularly due to traffic, not only are you providing a negative experience for your customers you’re also harming your website's SEO performance.
Have we convinced you? Are you looking for where and how to get started? Look no further!
Check out the Gatling Academy. It’s free and can move you through writing your first test all the way through learning more advanced techniques like testing a RESTful API.
Join the Gatling Community, there’s no better place to chat about load testing and get answers for your more advanced questions.
I’ve got to say I’m surprised you're here but happy to have you. If you haven’t tried it already take a look at Gatling Enterprise and learn how to take your testing to the next level. We have options to suit every user including our Cloud based version, marketplace based versions, and On-premise version. All of them include multi-user, distributed testing support, and advanced features to help you get a faster, more resilient site.