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

FreeBSD Manual Pages


home | help
http_load(1)		    General Commands Manual		  http_load(1)

       http_load - multiprocessing http	test client

       http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-time-
       out secs] [-sip sip_file] [-cipher str] ( -parallel N | -rate N	[-jit-
       ter] ) (	-fetches N | -seconds N	) url_file

       http_load  runs multiple	http fetches in	parallel, to test the through-
       put of a	web server.  However unlike most such test clients, it runs in
       a single	process, so it doesn't bog down	the client machine.  It	can be
       configured to do	https fetches as well.

       The -checksum flag  tells  http_load  to	 do  checksums	on  the	 files
       fetched,	 to make sure they came	across ok.  The	checksums are computed
       the first time each URL gets fetched, and then recomputed and  compared
       on  each	 subsequent  fetch.   Without the -checksum flag only the byte
       count is	checked.

       The -throttle flag tells	http_load to throttle its consumption of  data
       to 33.6Kbps, to simulate	access by modem	users.

       The -proxy flag lets you	run http_load through a	web proxy.

       The  -verbose  flag  tells  http_load to	put out	progress reports every
       minute on stderr.

       The -timeout flag specifies how long to wait on idle connections	before
       giving up.  The default is 60 seconds.

       The  -sip  flag lets you	specify	a file containing numeric IP addresses
       (not hostnames),	one per	line.  These get used randomly as the *source*
       address	of  connections.  They must be real routable addresses on your
       machine,	created	with ifconfig, in order	for this to work.  The	advan-
       tage  of	using this option is you can make one client machine look like
       a whole bank of machines, as far	as the server knows.

       The -cipher flag	is only	available if you have SSL support compiled in.
       It specifies a cipher set to use.  By default, http_load	will negotiate
       the highest security that the server  has  available,  which  is	 often
       higher  (and  slower) than typical browsers will	negotiate.  An example
       of a cipher set might be	"RC4-MD5" - this will run considerably	faster
       than the	default.  In addition to specifying a raw cipher string, there
       are three built-in cipher sets accessible by keywords:
	 * fastsec - fast security - RC4-MD5
	 * highsec - high security - DES-CBC3-SHA
	 * paranoid - ultra high security - AES256-SHA
       Of course, not all servers are guaranteed to implement  these  combina-

       One start specifier, either -parallel or	-rate, is required.  -parallel
       tells http_load to keep that many  parallel  fetches  going  simultane-
       ously.	-rate  tells http_load to start	that many new connections each
       second.	If you use the -rate start specifier, you can  also  give  the
       -jitter flag, telling http_load to vary the rate	randomly by about 10%.

       One  end	specifier, either -fetches or -seconds,	is required.  -fetches
       tells http_load to quit when that many  fetches	have  been  completed.
       -seconds	tells http_load	to quit	after that many	seconds	have elapsed.

       The  url_file  is just a	list of	URLs, one per line.  The URLs that get
       fetched are chosen randomly from	this file.

       All flags may be	abbreviated to a single	letter.

       Note that while the end specifier is obeyed precisely, the start	speci-
       fier  is	 only  approximate.  If	you use	the -rate flag,	http_load will
       make its	best effort to start connections at that  rate,	 but  may  not
       succeed.	  And if you use the -parallel flag, http_load will attempt to
       keep that many simultaneous connections going, but may fail to keep  up
       if the server is	very fast.

       Sample run:
	   % http_load -rate 2 -seconds	300 urls
	   591 fetches,	8 max parallel,	5.33606e+06 bytes, in 300 seconds
	   9028.87 mean	bytes/connection
	   1.97	fetches/sec, 17786.9 bytes/sec
	   msecs/connect: 28.8932 mean,	44.243 max, 24.488 min
	   msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
	   HTTP	response codes:
	     code 200 -- 591


       Copyright (C) 1998,1999,2001 by Jef Poskanzer <>.  All
       rights reserved.

			       15 November 2001			  http_load(1)


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

home | help