Web Server Benchmarking
   HOME

TheInfoList



OR:

Web server benchmarking is the process of estimating a
web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiate ...
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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
load testing tool *
ApacheBench ApacheBench (ab is the real Computer program, program Filename, file name) is a Thread (computing), single-threaded command line computer program used for Web server benchmarking, benchmarking (measuring the performance of) HyperText Transfer Prot ...
(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 So ...
* Httperf, a command line program originally developed at HP Labs *
Siege A siege is a military blockade of a city, or fortress, with the intent of conquering by attrition warfare, attrition, or a well-prepared assault. This derives from la, sedere, lit=to sit. Siege warfare is a form of constant, low-intensity con ...
, an open-source web-server load testing and benchmarking tool *
Curl-loader curl-loader is an open-source software performance testing tool written in the C programming language. Features curl-loader is capable of simulating application behavior of hundreds of thousands of HTTP/HTTPS and FTP/FTPS clients, each wit ...
, 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, valid ...
open-source tool *
OpenSTA OpenSTA is a feature-rich GUI-based web server benchmarking utility that can perform scripted HTTP and HTTPS heavy load tests with performance measurements. It is freely available and distributable under the open source GNU General Public License. ...
, a GUI-based utility for
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
-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 application A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
s.
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 pro ...
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 server
at
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
's knowledge base
Open Source Performance Testing toolsHTTP(S) benchmark tools, testing/debugging
Benchmarks (computing)