Web server benchmarking
From Wikipedia the free encyclopedia
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
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[edit]
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[edit]
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[1]
- Locust, an open-source Python load testing tool[2]
Web application benchmarks[edit]
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[edit]
- ^ "WRK - a HTTP benchmarking tool". GitHub. 28 May 2022.
- ^ "Open source load testing tool review 2020". k6.io. Retrieved 2023-06-02.
External links[edit]
- 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