Web server benchmarking
Appearance
Web server benchmarking is the process of estimating a web server performance in order to find if the server can serve sufficiently high workload.
Key parameters
The performance is usually measured in terms of:
- Number of requests that can be served per second (depending on the type of request, etc.);
- Latency response time in milliseconds for each new connection or request;
- Throughput in bytes per second (depending on file size, cached or not cached content, available network bandwidth, etc.).
The measurements must be performed under a varying load of clients and requests per client.
Tools for benchmarking
Load testing (stress/performance testing) a web server can be performed using automation/analysis tools such as:
- ApacheBench (or ab), a command line program bundled with Apache HTTP Server
- Apache JMeter an Open Source, Java program to make scenarios for several protocols: HTTP, AJP, JDBC and different load types.
- Curl-loader a powerful loading, testing and benchmarking open-source tool
- OpenSTA, distributed software testing architecture which can perform scripted HTTP and HTTPS heavy load tests with performance measurements from Win32 platforms [1]
- Httperf a command line program originally developed by Hewlett-Packard Research Laboratories
- Httest a scriptable test tool under apache licence, can be used for load test and distributed load tests
Web application benchmarks
Web application benchmarks measure the performance of Web application servers and database servers used to host dynamic Web applications. TPC-W, is a common benchmark emulating an online bookstore with synthetic workload generation.