One of the most common impediments to the user experience on websites is an issue many people don’t think of as directly relating to UX. The ability of a site to stand up to the stress of a number of users logging on and going through the site can pose a surprising array of problems. A common method for trying to identify these types of challenges is load testing. By seeing how a site holds up to large amounts of stress, it may be possible to actually improve the experience for users.
Why Load Matters
The more trouble a site has handling the incoming load of requests and outgoing load of responses, the less likely it will be to work properly and quickly. Users strongly prefer websites that load rapidly. Most estimates indicate that users begin abandoning a site that hasn’t fully loaded after 9 seconds. Even committed users who enjoy a particular site and stick around past that point are apt to have a diminished experience, according to WebHostingBuddy.com.
Load issues also lead to problems with on-site interactions. One of the more common things that makes popular sites as sticky as they are is communicating with other users. Website performance problems can quickly translate into community issues. Comments can fail to be posted, and discussion threads can break. It doesn’t take long for load-handling problems to become an overall bad user experience.
A number of types of software exist to determine whether a site has problems with stress caused by user load. One method that’s commonly used is automating the process of putting load on a website. This isn’t dissimilar to how distributed denial of service attacks work. Simply put, the site is subjected to a larger-than-normal amount of stress by an automated system that continuously hits it with requests. Administrators can set a desired top-level amount of traffic to test, or they can have the load-testing software keep piling on until the site stops responding.
It’s also prudent to look through performance data to see where requests may be coming from. A site may already be subject to a denial-of-service-attack, and monitoring logs and other sources of traffic information might allow administrators to flag incoming request and redirect or block them.
It should also be noted that legitimate requests can create unexpected loads. For example, a site that includes an API may be subject to a non-hostile, but heavy load from an overly enthusiastic user who wishes to pull a large number of requests for information from a variety of sources. Administrators should try, where possible, to distinguish heavy loads created by these types of users, rather than blocking them, which may lead to a reduced user experience or even outrage across the user base.
One of the best ways to find out if your site is slowing down for users is to run a load test. You can do this with both free and paid tools, as well as other various tools. For simple speed checking, Dotcom-Tools does a good job of running a website speed test. For more advanced speed testing under load, Load View Testing does a great job of checking how a website performs under load.
Fortunately, there are many potential solutions that are worth considering if a website is experiencing load issues to the point that the UX has been impacted. This includes a range of hardware- and software-specific approaches that can improve efficiency or distribute traffic.
The most hardware intensive solution is adding more servers. This may also call for implementing a load-balancing solution. Such an approach is not advised for sites that don’t have the support of an experienced professional who knows how to deal with the work.
For less technically savvy people, another method is the use of content distribution networks. A lot of times, the content on a site is the source of major load issues. For example, receiving and fulfilling requests for a large number of images across many pages can place a significant burden on a server. A CDN is a separate server that hosts the images away from the one that hosts the images. Many CDN providers even offer plug-ins for popular platforms such as WordPress and Drupal, so less tech-heavy administrators can quickly implement solutions. Many major companies, including Facebook and Google, use CDNs to reduce user experience problems.
Software solutions are also worth looking. In some instances, it may be as simple as disabling components that are of little to no use. Many WordPress installs, for example, come with activated plug-ins and themes that slow them down. Cleaning up these issues will go a long way toward improving the user experience.
Code-level efficiency can yield benefits, too. A site that’s currently using PHP to handle an API could achieve great improvements in performance by moving the API over to a system like NodeJS that runs with a smaller footprint. Code audits are also worth conducting, in order to see if responsiveness can be tightened down.
The load a site handles can reduce the user experience, but there are solutions available. Testing a site under load can detect issues early. Once they’re detected, you can begin finding a solution that works well for you. If you want to learn more about load and performance testing, check out LoadView’s Learning Page, as well as their blog for great performance testing tutorials!
About the author:
Glenn Lee is a Web Performance Engineer and Technical Writer who has worked at Dotcom-Monitor for 5 years. He is passionate about the technology industry, how it progresses rapidly, and meets varying global development needs. Glenn focuses on web performance advancement.