Web server benchmarking is the process of estimating a
web server
A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
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
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
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 software, free and open-source cross-platform web server, released under the terms of Apache License, Apache License 2.0. It is developed and maintained by a community of developers under the ...
*
Siege
A siege () . is a military blockade of a city, or fortress, with the intent of conquering by attrition, or by well-prepared assault. Siege warfare (also called siegecrafts or poliorcetics) is a form of constant, low-intensity conflict charact ...
, an open-source web-server load testing and benchmarking tool
*
Wrk, an open-source
C load testing tool
*
Locust
Locusts (derived from the Latin ''locusta'', locust or lobster) are various species of short-horned grasshoppers in the family Acrididae that have a swarming phase. These insects are usually solitary, but under certain circumstances they b ...
, an open-source
Python 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. For a typical web application, the application server sits behind the web servers.
An application ser ...
s and database servers used to host
web application
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
s.
TPC-W was a common benchmark emulating an online bookstore with synthetic workload generation.
References
External links
*Microsoft'
patterns & practices Performance Testing Guidance for Web ApplicationsStress tools to test your Web serverat
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's knowledge base
*{{usurped,
Open Source Performance Testing tools}
HTTP(S) benchmark tools, testing/debugging
Benchmarks (computing)