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:
Apache JMeter, an open-source Java load testing tool ApacheBench (or ab), a command line program bundled with Apache HTTP Server Siege, an open-source web-server load testing and benchmarking tool Wrk, an open-source C load testing tool Locust, an open-source Python load testing tool
Web application benchmarks Web application benchmarks measure the performance of application servers and database servers used to host web applications. TPC-W was a common benchmark emulating an online bookstore with synthetic workload generation.
References
External links Microsoft's patterns & practices Performance Testing Guidance for Web Applications Stress tools to test your Web server at Microsoft's knowledge base Open Source Performance Testing tools SPECweb2009 Release 1.20 Benchmark Design Document HTTP(S) benchmark tools, testing/debugging h2load - HTTP/2 benchmarking tool - HOW-TO
