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.

Installation

Download information:

Usage

Zip archive contains both 32 and 64-bit binaries plus man page which is also available here.
 
 
Examples:
 

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 
−−http−version=1.0

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.

 

Licence/Version

This package contains components with different terms of licensing:

Component Version Licensing

Httperf

0.9.1

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

2.9.0

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