http_load(1)

NAME
http_load - multiprocessing http test client

SYNOPSIS
http_load [-checksum] [-throttle] [-verbose] ( -parallel N | -rate N ) ( -fetches N | -seconds N ) url_file

DESCRIPTION

http_load runs multiple http fetches in parallel, to test the throughput 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 -verbose flag tells http_load to put out progress reports every minute on stderr.

One start specifier, either -parallel or -rate, is required. -parallel tells http_load to keep that many parallel fetches going simultaneously. -rate tells http_load to start that many new connections each second.

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 specifier 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
    236.082 mean msecs/connect
    256.73 mean msecs/first-response

AUTHOR
Copyright © 1998,1999 by Jef Poskanzer <jef@acme.com>. All rights reserved.