Most web sites and web applications run smoothly and correctly as long as only one user (e.g. the developer) is using it. But what happens when thousands of users access the website simultaneously?!
Today many websites have a serious business background and are mainly run to sell a service or a product to make money.
Everybody running a business on the web has seen statistics how fast a customer clicks away to your competitor if your server reacts too slow or not at all.
Aren't you cancelling the checkout of a shopping cart if the webserver does not react within 5-20 seconds?! If the visitors to your web site know about your slow website before you do, it may cost you a lot of money!
For the owner of a website this means: Test and monitor your website!
Not only functionality testing (does the website do what it is meant to do) and usability testing (does the user understand what is going on in his browser window) but also performance testing (does the user get results in an acceptable time) is important.
Your goal must be to ensure your customer always gets the right answer to his mouseclick within a few seconds at anytime! Ensure that 95% of requests are processed in less than 10 seconds.
Jakob Nielsen suggests the following views (from "Website Usability" by J.Nielsen):
Using Webserver Stress Tool you are able to know if you have a performance problem due to load problems and you will be able to drill down to the problem!
By the way: Paessler also offers a solution to monitor your webserver after it has been deployed to the web, visit PRTG Network Monitor for more details!
Moving the focus of our thoughts from the business to the technical viewpoint we discover the following questions that need to be answered to ensure that the goals from the business viewpoint are met:
You need to find out all of these answers!
These three words are often used synonimously, but there are differences:
This is probably the trickiest question in conducting performance tests on websites.
First, remember that there is a difference between users, transactions, pageviews and hits:
If you already have your website online it is a good start to use a good logfileanalyzer on your logfiles. You can find out how many people access the site per day and per hour, what pages/scripts are used how often etc.
If you are working on a new website you have to find the numbers and pattern yourself. One way to define the load pattern could be:
At the end you should have a list of URLs and their frequency of use.
There is a difference between the number of users using your website at one time and users sending simultaneous requests to your website!
If you have 200 simultaneous users clicking a link every 20 seconds you have 600 clicks per minute (3 per user per minute) or 10 simultaneous users per second. This number would be the number you simulate with Webserver Stress Tool.
Remember to take into account that additionally to the average load of your website there could be spikes in usage generated by marketing activities (e.g. newsletters, banners, TV commercials etc.) or simply by seasonal situations (e.g. Valentines Day for a flower shop website).
Now feed this data into Webserver Stress Tool and hit "Start Test" and keep your fingers crossed!
The answer is simple: You cannot start performance testing early enough when building web applications!
It is even a good idea to start performance testing before a line of code is written at all! Early testing the base technology (network, load balancer, application-, database- and web-servers) for the load levels you plan for can save a lot of money when you can already discover at this moment that your hardware is to slow. Also the first stress tests can be a good idea at this point.
The costs for correcting a performance problem rise steeply from the start of development until the website goes productive and can be unbelievable high for a website already online.
During software development all programmers should have access to performance test tools from an early stage on to test their own code for performance and for parallel execution problems (e.g. caused by database locks or other mutexes). Each developer should be responsible not only for the functionality of his code but also for good performance of his pages!
As soon as several webpages are working the first load tests should be conducted and from there on should be part of the regular testing routine each day or week or for each build of the software.
Webserver Stress Tool is a comprehensive HTTP-client/server test application designed to pinpoint critical issues in your web server that may prevent optimal performance.
By simulating the HTTP requests generated by hundreds or even thousands of users, you can test your web server performance under normal and excessive loads to ensure that critical information and services are available at speeds your end-users expect.
Detailed test logs and several easy to read graphs make analyzing results a snap. Webserver Stress Tool for Windows (98/ME/NT/2000/XP/2003) can benchmark almost any web server (e.g. static pages, JSPs/ASPs, or CGIs) for performance, load, and stress-tests.
Using Webserver Stress Tool when developing and running Websites is important for your web infrastructure:
Read more about Webserver Stress Tool