[httperf] Project to enhance httperf. (Multiple clients and Session emulation)

anoop aryal aaryal at foresightint.com
Mon Nov 15 10:19:31 PST 2004

> a second scenario is where an adminstrator wants to test various
> features of the site they operate.  in this case, they may want to
> use trace-based workload generation, so that the workload is
> representative of their own site (and since they will have access
> logs from their server).  while httperf provides the ability to
> specify sessions, what I believe is missing is a tool to extract the
> important characteristics from the trace and create the input files
> and parameter settings for httperf.

you may want to take a look at a script that i used to create a
realistic workload. it's realistic as far as approximating the think
time (the reason it's approximate is that it uses the time of the
reply and not the time of the request as it should be.) and all the
form/cookie variables.

basically, you run tcpflow to capture all the http traffic on the
wire, have multiple people 'visit' the website and act as if they are
'real' visitors. the more clients you have, the more varied the
sessions will be. have the clients clear out their caches (you want
the browser caching various images/stylesheets and creating the load
this way will emulate that for the requests for subsiquent pages).

then you run this script on the output of tcpflow and voila: session
files for input to httperf. (that mimicks caching behavior of the
browsers etc.)

at one point, i had it spitting out an executable script with the
session embedded. it would 'can' the httperf run. doing it that way
made sure that all my tests had the parameters to httperf. but it got
too complicated to make it a general case script generator. and maybe,
if you like it this far, it could be extended to include that feature.

notice that instead of reading the server logs, i opted for sniffing
the wire because i don't know if you can have apache record the
POST/GET/COOKIE varables into the log file. sniffing the wire allows
for the script to record all this into the session for httperf.

you can download the script at:


aaryal at foresightint.com

More information about the httperf mailing list