Don’t be one of those designers who design without thinking about performance. Even if you have a gorgeous design, if it doesn’t load fast enough, no one will stay around long enough to appreciate it!
In this article I’ll cover the main differences between performance and load testing and give you some guidelines on how to improve site performance.
Load Testing vs. Performance Testing
What is a load test?
According to Microsoft, “load testing helps to identify the maximum operating capacity of an application (or site) as well as any bottlenecks that might interfere with its operating at capacity.”
Wikipedia defines load testing as “the process of putting demand on a system or device and measuring its response”.
It is important to know how your site will operate under normal conditions and stressful (peak-load) conditions. Load testing is related to performance testing. Ideally, as a designer/developer you’d always want to know how your sites are performing overall, additionally putting them through a load test will highlight serious problems that may cause your site to crash when it’s under peak load.
So, to recap, there are two components at stake here:
Load Testing: How will your site behave when it’s being hit with a lot of traffic? (and many processes are being generated concurrently)
Performance Testing: How can you improve the general performance of your site and provide a better experience for your users?
Let’s tackle each one of these separately, even though they are related.
Performance testing is all about the end-user. No one likes a slow site! Users these days are used to fast speeds, so if they have to wait for an image to load, navigation is slow, they’ll most likely bounce.
In addition, Google now incorporates website speed into its search algorithm, so improving site speed can have a positive effect on ranking.
The goal with performance testing is to make sure the system is available and working optimally. There are free tools online that offer a wealth of information for testing a website.
Here is the result for the website speed test for Syntaxxx.com from the Pingdom Website Speed Test.
In this test it took 2 seconds for the Syntaxxx home page to load. Syntaxxx scored an 83/100 and it’s faster than 71% of pingdom tested websites. Pretty good stats!
The Waterfall tab presents me with all the requests that took place in order to load the home page, syntaxxx.com. It displays the size of specific jquery files and how long it took for them to load.
The Performance Grade tab breaks down the score into individual components and offers recommendations for improving speed, such as: leveraging browser caching, minimizing redirects etc.
The Page Analysis tab goes a bit more in-depth and specifies time spent per content type, size per content type (images, scripts, HTML etc).
There are some actions you can take to improve site performance, such as:
- Using caching plugins (for WordPress)
- Optimizing your code
- Use a reliable DNS
- If you’re using WordPress make sure the theme is clean and use only essential plugins
- Also, if using WordPress choose a hosting provider that specializes in hosting WordPress sites.
The bottom line is, even if you’re working on a small-scale site, it’s best practice to test it and make sure your site is not underperforming, there are always improvements to be made.
Do you know how your site will behave when hundreds of users are actively interacting with it? If you’re working on a site that will be process intensive, there are tools that allow you to simulate how your site will handle 1000s of users accessing it, imitating real world traffic (users coming from different locations and servers).
Load testing has more to do with specific metrics that affect system performance, such as dropped sessions and response times. For example: let’s take a site like ticketmaster.com. Ticketmaster is a site where users go to purchase tickets for concerts and sporting events. At specific times, Ticketmaster gets hit with lots of traffic from users trying to purchase tickets as soon as they go on sale.
One technique they use to offset the high volume of users going through the system is giving each user a specific number of minutes to complete the transaction. If you do nothing or if you’re not fast enough, ticketmaster will kick you out of its system. For a site like this, it’s imperative to run load tests regularly to make sure users won’t hit any bottlenecks and the site will crash under the load. It’s no secret ticketmaster.com crashes when traffic is high.
Not all sites will need load testing, but ALL sites need to pass a performance test.
There are numerous testing tools available online, but here are a few I’ve used to load test WordPress sites I’ve worked on:
http://tools.pingdom.com/ – Pingdom allows you to test a site for free, but it offers more comphrensive website monitoring and reporting for a fee.
http://loadimpact.com/ - Load Impact offers more sophisticated testing with more comprehensive reporting.
http://www.loadtestingtool.com/index.shtml - Test web applications, and monitor servers and database performance.
http://blazemeter.com/ – This is a powerful tool that offers a solution for real-world load testing simulation.
https://addons.mozilla.org/en-US/firefox/addon/yslow/ – YSlow is a Firefox add-on that analyzes web pages and offers suggestions to improve performance.