httperf wrapper for benchmarking CouchDB
Features:
-
Results sent to CouchDB and printed in TSV
-
Creates wsesslog files dynamically using random data for document writes and _all_docs for reads
-
Lots of knobs: session counts, document size, request rate, etc
-
httperf session work logs are attached to results for replaying later
License:
This code is available as Open Source Software under the MIT license.
Usage:
$ gem sources -a gemcutter.org $ gem install baracus $ baracus /path/baracus.yml
Suggestions:
-
Set “ulimit -n 65535” before running baracus
-
Change FD_SETSIZE to 65535 in /usr/include/bits/typesizes.h before compiling httperf
-
For tests with more than 1000 sessions increase MAX_SESSION_TEMPLATES in gen/wsesslog.c before compiling httperf
Acknowlegdements:
Details on httperf www.hpl.hp.com/research/linux/httperf/httperf-man-0.9.txt Some of the httperf output parsing code was taken from github.com/sv/httperf4r