Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       autobench_admin	- admin	tool for running HTTP benchmarks using a clus-
       ter of distributed autobench servers

       autobench_admin [OPTIONS]...

       autobench_admin	controls  a  cluster  of  distributed  autobench  test
       servers	(each  of  which  runs autobenchd).  When started, it contacts
       each of the test	servers	(specified using --clients, or read  from  the
       configuration file $HOME/.autobench.conf), and instructs	them to	run an
       httperf benchmark against the specified target server.  The results are
       collated	and returned in	a TSV or CSV format file.

       Distributed autobench is	designed to simplify the process of conducting
       reliable	HTTP benchmarks	against	web servers.  It is often difficult or
       impossible  to saturate a web server when benchmarking it from a	single
       test machine.  Distributed autobench allows any number of test machines
       to  be  used  to	 conduct  synchronised	benchmarking of	a target, with
       automatic collation of the results.   A	typical	 testing  setup,  with
       three  client machines (running autobenchd) is illustrated below.  Note
       that autobench_admin can	be run on any machine (typically  it  will  be
       run on one of the testhosts).

		      |	autobench_admin	|
	       |	       |	       |
	       |	       |	       |
	 +-----+------+	 +-----+------+	 +-----+------+
	 | autobenchd |	 | autobenchd |	 | autobenchd |
	 | testhost1  |	 | testhost2  |	 | testhost3  |
	 +-----+------+	 +-----+------+	 +-----+------+
	       |	       |	       |
	       |	       |	       |
			| web server |
			| under	test |

       To  conduct  a  benchmark  using	 distributed  autobench,  install  the
       autobench package on each of the	 benchmark  test  machines  (i.e.  the
       machines	 that will be running httperf, not the machine running the web
       server to be benchmarked),  and	start  autobenchd  on  each  of	 those
       machines.   By  default,	 autobenchd will bind to INADDR_ANY, port 4600
       (this can be overridden on the command line, see	the autobenchd (1) man
       page for	details).

       Then  run  autobench_admin  to  conduct	a  benchmark,  specifying  the
       hostname	and port numbers of all	of the benchmark test  machines	 using
       the --clients option (or	by setting the clients option in the autobench
       configuration  file  $HOME/.autobench.conf).   The   details   of   the
       benchmark  are  specified  with	options	 identical  to	those  used by

       There  is  no  need  to	restart	 the  autobenchd  daemons  after  each
       benchmarking   -	  they	 continue   to	listen	for  connections  from
       autobench_admin indefinitely.

       IMPORTANT: In order for distributed autobench to	give accurate results,
       it is very important that the clocks on all the clients and the machine
       from which autobench_admin is run are synchronised  with	 one  another.
       The  use	of NTP is recommended; in its absence use rdate	to synchronise
       your clocks before beginning a run.

       See autobench (1)  for  details	of  the	 available  benchmark  related
       options.	Only autobench_admin specific options are detailed below.

       --clients hostname1:port1,hostname2:port2...
	      Specifies	the benchmark test machines to contact.	 Each hostname
	      port-number pair must be separated  from	the  next  only	 by  a
	      comma.   No  spaces  are	allowed	in the clients string. E.g. ``
	      --clients, ''

	      Display debugging	output

       Notice that in each of the examples below,  configuration  options  not
       specified on the	command	line will be taken from	the configuration file

       autobench_admin --single_host --host1 --uri1	/index.html
       --file bench.tsv
	      Benchmark from the three machines
	      through using the URI /index.html saving the
	      results in 'bench.tsv'.

       autobench_admin --host1 --host2 --uri1
       /10k.txt	--uri2 /10k.txt	--rate_step 50 --low_rate 100 --high_rate 500
	      Conduct a	comparative test of and,
	      increasing the requested number of connections per second	from
	      100 to 500 by a step of 50 on each iteration.  Since no clients
	      are specified on the command line, those specified in
	      $HOME/.autobench.conf will be used. Output will go to stdout.

       Additional  options  may	 be passed to httperf by including them	in the
       configuration file $HOME/.autobench.conf	prefixed with  "httperf_",  as
       in the example below:

       httperf_add-header = "Authorization: Basic cm9iOjBjdGFuZQ=="

       httperf_print-reply = body

       httperf_print-request = header

	      Default	configuration	file,  copied  into  the  user's  home
	      directory	 when  autobench  or  autobench_admin  is  first  run.
	      Defaults	to /etc/autobench.conf if autobench was	installed from
	      the Debian package, /usr/local/etc/autobench.conf	otherwise.

	      The active autobench configuration file.

       autobenchd(1), autobench(1), httperf(1),	bench2graph(1)

       The Linux HTTP Benchmarking HOWTO at
       has further examples of the use of autobench.

       Julian T. J. Midgley <>

				 May 27, 2004		    AUTOBENCH_ADMIN(1)


Want to link to this manual page? Use this URL:

home | help