Httperf for Windows

httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance.

The focus of httperf is not on implementing one particular benchmark but on providing a robust, high-performance tool that facilitates the construction of both micro- and macro-level benchmarks. The three distinguishing characteristics of httperf are its robustness, which includes the ability to generate and sustain server overload, support for the HTTP/1.1 and SSL protocols, and its extensibility to new workload generators and performance measurements.




Zip archive contains platform specific binaries plus man page which is also available here.

httperf −−hog −−server www

This command causes httperf to create a connection to host www, send a request for the root document (http://www/), receive the reply, close the connection, and then print some performance statistics.

httperf −−hog −−server www −−num−conn 100 −−ra 10 −−timeout 5

Like above, except that a total of 100 connections are created and that connections are created at a fixed rate of 10 per second. Note that option ‘‘−−rate’’ has been abbreviated to ‘‘−−ra’’.

httperf −−hog −−server=www −−wsess=10,5,2 −−rate 1 −−timeout 5

Causes httperf to generate a total of 10 sessions at a rate of 1 session per second. Each session consists of 5 calls that are spaced out by 2 seconds.

httperf −−hog −−server=www −−wsess=10,5,2 −−rate=1 −−timeout=5 −−ssl

Like above, except that httperf contacts server www via SSL at port 443 (the default port for SSL connections).

httperf −−hog −−server www −−wsess=10,5,2 −−rate=1 −−timeout=5 −−ssl 
−−ssl−ciphers=EXP−RC4−MD5:EXP−RC2−CBC−MD5 −−ssl−no−reuse 

Like above, except that httperf will inform the server that it can only select from two cipher suites (EXP−RC4−MD5 or EXP−RC2−CBC−MD5); furthermore, httperf will use HTTP version 1.0 which requires a new TCP connection for each request. Also, SSL session ids are not reused, so the entire SSL connection establishment process (known as the SSL handshake) occurs for each connection.



This package contains components with different terms of licensing:

Component Version Licensing



Httperf license (GPL) Source code for Httperf is available here.


CYGWIN license (GPL) Source code for Cygwin are available here.