httperf-0.9.1 with individual connection times

This past weekend I dabbled in C++ for the first time patching httperf to use display each connection's timing when using verbose mode.

You can find the source here -- https://github.com/jmervine/httperf

Basic installation:

$ git clone https://github.com/jmervine/httperf
$ cd httperf
$ autoreconf -i
$ ./configure [--prefix=/usr/local]
$ make
$ sudo make install

Note: the [--prefix=/usr/local] is optional and allows you to run two instances of httperf, one at it's default location "/usr/bin/httperf" and this one at "/usr/local/bin/httperf". It's not really necessary, but just incase you're not willing or able to remove your previous installation, it may prove helpful.

Usage:

Simple... use httperf as you always have with the verbose flag.

See: Performance Testing with Httperf for more information on using httperf.

Sample output:

httperf --verbose --client=0/1 --server=mervine.net --port=80 --uri=/ --rate=1 \
  --send-buffer=4096 --recv-buffer=16384 --num-conns=10 --num-calls=1
httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE
httperf: maximum number of open descriptors = 1024
Connection lifetime = 377.59
Connection lifetime = 377.96
Connection lifetime = 377.01
Connection lifetime = 378.20
Connection lifetime = 439.33
reply-rate = 1.0
Connection lifetime = 377.77
Connection lifetime = 377.80
Connection lifetime = 379.39
Connection lifetime = 388.54
Connection lifetime = 377.04
Maximum connect burst length: 1

Total: connections 10 requests 10 replies 10 test-duration 9.377 s

Connection rate: 1.1 conn/s (937.7 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 377.0 avg 385.1 max 439.3 median 377.5 stddev 19.4
Connection time [ms]: connect 93.8
Connection length [replies/conn]: 1.000

Request rate: 1.1 req/s (937.7 ms/req)
Request size [B]: 68.0

Reply rate [replies/s]: min 1.0 avg 1.0 max 1.0 stddev 0.0 (1 samples)
Reply time [ms]: response 103.4 transfer 187.9
Reply size [B]: header 241.0 content 37211.0 footer 0.0 (total 37452.0)
Reply status: 1xx=0 2xx=10 3xx=0 4xx=0 5xx=0

CPU time [s]: user 3.30 system 6.05 (user 35.2% system 64.5% total 99.7%)
Net I/O: 39.1 KB/s (0.3*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

Enjoy!