Jump to content

Web server benchmarking

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hu12 (talk | contribs) at 14:32, 13 June 2012 (Undid revision 497027034 by DanielaSZTBM (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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]
  • HTTP Test Tool a script driven command line tool
  • Httperf a command line program originally developed by Hewlett-Packard Research Laboratories

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.

See also