http_load(1)http_load(1)NAMEhttp_load - multiprocessing http test client
SYNOPSIShttp_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
DESCRIPTIONhttp_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‐
tions.
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
SEE ALSOhttp_ping(1)AUTHOR
Copyright � 1998,1999,2001 by Jef Poskanzer <jef@mail.acme.com>. All
rights reserved.
15 November 2001 http_load(1)