One of the most frustrating and confusing things about technology and especially network technology is the fact that a web site can appear to be in perfect working order one minute and be broken, non-responsive, slow or unreachable the next.
Why does this happen? The answers aren’t often simple, but one of the most common problems with technology in general and web sites in particular is that they are either not documented properly or not tested properly. In some situations, they are neither. Without putting too fine a point on it, releasing untested software is guesswork, even if it is an off-the-shelf application with minimal additional options.
At its core, your website is software, and its performance reflects on your commitment to quality and the satisfaction of your visitors and customers. How do you make certain your site’s performance is up to standards? It’s not as complicated as you might think.
Performance vs. Stress Testing
When you test any software application for performance, whether it is a desktop application or a client-server application like a web site, you are evaluating its operation from a single-user standpoint. Is the application working at an acceptable performance level from one user to the next? That is the only question you can evaluate from a simple performance basis — is a website fast or slow?
The reason for this is performance metrics are different from other kinds of testing, like stress tests, load tests or quality control. Performance testing does not establish any limits or boundaries. Whether an application passes a performance test is a more subjective question rather than say, a stress test which is an objective measure of how much an application can take before it fails.
Why Performance is Important
Simply put, the Internet’s attention span is about eight seconds. If your site doesn’t provide whatever your customer or visitor is looking for in under that time, the chances of losing that visitor begin to increase rapidly. While this might sound like an objective threshold, every visitor is different.
What your testing must address and then produce is a site that balances performance with quality in such a way as to reduce to the absolute minimum the number of lost sales, lost readers and lost opportunities. If you can do that, you will at least have a base performance level from which to build future improvements.
Tools are Available
There are voluminous options for doing performance tests on your site. Everything from standards tests to syntax testing to multiple-platform performance evaluation can be automated. Not only can these tests be configured and recorded in nearly any combination, but professional tools like Webload, LoadView, Gatling and Google’s PageSpeed can provide you with information you can use to measure performance increases over time.
This kind of testing regimen can help you or your organization satisfy your documentation requirements as well. With a complete record of your testing program, you have a starting place for identifying and fixing what might otherwise be obscure and hard-to-detect problems.
Server First
While your web site is visible in a browser, it is most often the invisible portions of your software that provide you with the greatest opportunities for improvement. Recognizing, for example, the difference between script-based middleware and compiled middleware can give you a tremendous advantage in a market where you are likely to have high-volume/low-data site accesses. On the other hand, if you know your site is more likely to have fewer visitors, each of which are downloading more data, then you will want to reconfigure your architecture to match.
The overwhelming majority of performance issues for a web site start on your server. Misconfigured server-side middleware, databases and network hardware can make it impossible to optimize anything on the client side. That said, once your server is tuned properly, you may find the time investment in getting those last few percentage points on the client side aren’t that important, and that can end up saving you a ton of additional resources and technical risk.
The key thing to remember is performance testing is a process, not a goal. Your site’s purposes and audience may change over time, and as a result, your priorities for testing will change with them. This is where your documentation becomes of vital importance. Maintain both, and your chances of success will increase.
Hungry for more web performance content? Check out this post on performance testing for beginners, and this post to learn more about load/performance testing, and how to get your site in tip-top shape!
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.