Useful tips for server performance benchmarking actions

Nov 21, 2007 18:44 GMT  ·  By

Webserver performance benchmarking is not an easy job. The benchmarking tools will provide different reports, depending on the server type, testing conditions, server settings and more.

Practically, all existing benchmarking tools will output information regarding the performance of any type of web server by simulating different loading conditions (server stress).

The server performance will influence to a great extent a website's success, especially if we're talking about a business-based one. For this reason, after you perform the testing for functionality and usability of a website, then you must verify the server performance in delivering the web pages to your visitors in different traffic conditions.

Based on the performance benchmarking report, you must optimize the webserver or to choose one already optimized for web hosting, so that over 96%-97% of HTTP requests to be processed in less than 10 seconds; that's because visitors may decide to avoid the respective site in the future.

The most important indicator of your web server performance is the average time it needs to serve a given page on different server load conditions. There are benchmarking tools that simulate the presence of various numbers of users connected to the web server, the type of their browser, the number of clicks on a given page and more.

You must maintain constant the number of "visitors" having different sessions (KeepAlive will maintain persistent connections) and change the number and type of pages requested. You should use all types of scripts, such as server side scripts (PHP, ASP, JSP) and also client side scripts (Javascript, Flash) for server benchmarking. After every test, you must change the server configuration and maintain the same server loading, in order to easily decide what tweaks you should adopt.

For example, ab tool, designed for benchmarking Apache HTTP server, can be used for any web server for performance evaluation. This tool allows you to send a certain number of HTTP requests to a web server, even in the presence of concurrent connections. After performing the benchmarking test, it will report the percentage of the requests served within a certain time, namely the number of requests served per second from the total requests number.

This tool can give you an insight about your server's performance, but the best practice is to test the webserver requests handling on the same conditions with various tools, in order to obtain a convergent response (similar reports data for different benckmarking methods and tools).

There are available many other server benchmarking tools, such as Autobench (Perl script) or Webserver Stress Tool (Windows application) that will help you compare various web servers from the performance point of view or find the desired optimal configuration for a given web server.