Web server benchmarking is a way of determining the performance of a web server with the aim of establishing how well it copes under a sufficiently high workload. Performance testing is important to help maintain continuous system performance.
The performance of a web server can be expressed in a number of different ways including the number of requests served within a certain time, the latency response time for each new connection or request, or the throughput.
The open source Linux benchmarking tools featured in this article enable the performance of a web server to be tested prior to releasing it in a production environment. Accurately testing a web server is quite a challenging activity. This is, in part, because a web system is a distributed system. Further, Hypertext Transfer Protocol, the application protocol for hypermedia information systems, can cause connection usage patterns that the Transmission Control Protocol was not designed for. Moreover, problems are generated in testing the performance because of the sheer dynamism of a web server.
To provide an insight into the quality of software that is available, we have compiled a list of 13 high quality web server performance tools that offer accurate and reliable benchmarking. Hopefully, there will be something of interest here for anyone that needs to test web server performance.
Let’s explore the 13 performance testing tools at hand. For each title we have compiled its own portal page, a full description with an in-depth analysis of its features, a screenshot of the software in action, together with links to relevant resources.
Web Server Benchmarking Tools | |
---|---|
Locust | Easy to use, scriptable and scalable performance testing tool |
Apache JMeter | Load testing and performance measurement application |
k6 | Modern load testing tool for developers and testers in the DevOps era |
wrk | Modern HTTP benchmarking tool |
Siege | HTTP regression testing and benchmarking utility |
AutoCannon | Fast HTTP/1.1 benchmarking tool |
Tsung | Multi-protocol distributed load testing tool |
ApacheBench | Apache (and other web servers) benchmark tool |
bombardier | Uses fasthttp instead of Go’s default http library, |
Drill | HTTP load testing application written in Rust |
Cassowary | Modern HTTP/S, intuitive & cross-platform load testing tool built in Go |
FunkLoad | Web testing tool in the same spirit as Perl's WWW::Mechanize |
httperf | HTTP load generator |
This article has been revamped in line with our recent announcement.
Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software. The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. There are also fun things to try, hardware, free programming books and tutorials, and much more. |