Web server benchmarking

{{Short description|Estimation of web server performance}}

{{Multiple issues|

{{More citations needed|date=May 2022}}

{{Notability|date=June 2023}}

}}

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{{cite web | url=https://github.com/wg/wrk | title=WRK - a HTTP benchmarking tool | website=GitHub | date=28 May 2022 }}
  • Locust, an open-source Python load testing tool{{cite web|url=https://k6.io/blog/comparing-best-open-source-load-testing-tools/ |title= Open source load testing tool review 2020 |publisher= k6.io |access-date=2023-06-02}}

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

{{Reflist}}