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
Load testing is the process of putting demand on a structure or system and measuring its response.
Software load testing
The term ''load testing'' is used in different ways in the professional software testing community. ''Load testing'' gene ...
(stress/performance testing) a web server can be performed using automation/analysis tools such as:
*
Apache JMeter
Apache JMeter is an Apache project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications.
JMeter can be used as a unit-test tool for JDBC database connectio ...
, an open-source
Java load testing tool
*
ApacheBench (or ab), a command line program bundled with
Apache HTTP Server
The Apache HTTP Server ( ) is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Sof ...
*
Httperf, a command line program originally developed at
HP Labs
HP Labs is the exploratory and advanced research group for HP Inc. HP Labs' headquarters is in Palo Alto, California and the group has research and development facilities in Bristol, UK. The development of programmable desktop calculators, ink ...
*
Siege, an open-source web-server load testing and benchmarking tool
*
Curl-loader, a
software performance testing
In software quality assurance, performance testing is in general a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, val ...
open-source tool
*
OpenSTA, a GUI-based utility for
Microsoft Windows-based operating systems
*
Wrk, an open-source
C load testing tool
Web application benchmarks
Web application benchmarks measure the performance of
application server
An application server is a server that hosts applications or software that delivers a business application through a communication protocol.
An application server framework is a service layer model. It includes software components available to a ...
s and database servers used to host
web applications.
TPC-W TPC-W was a web server and database performance benchmark, proposed by Transaction Processing Performance Council.
This benchmark defined the complete Web-based shop for searching, browsing and ordering books. The system under testing needed to pr ...
was a common benchmark emulating an online bookstore with synthetic workload generation.
References
{{Reflist
External links
*Microsoft'
patterns & practices Performance Testing Guidance for Web ApplicationsStress tools to test your Web serverat
Microsoft's knowledge base
Open Source Performance Testing toolsHTTP(S) benchmark tools, testing/debugging
Benchmarks (computing)