httpbench is a latency measurement tool. Call it like this: ./httpbench -k -c 1000 -i 10 -s 5 http://127.0.0.1:8000/README.httpbench This means that httpbench should open 500 HTTP connections to 127.0.0.1:8000, and every 10 connections it should 5 times request "/" from the web server there. The -k tells httpbench to run these 5 requests over the same TCP connection, using HTTP keep-alive. The output from httpbench looks something like this: connecting to 127.0.0.1 port 8000 sample 69 229 clat 58 clat 59 clat 51 clat 50 clat 52 clat 49 clat 50 clat 50 clat 63 clat 50 sample 50 389 [...] The first line is for informational purposes. Lines starting with "sample" give two timings, first the latency for opening the TCP connection (which should be pretty small unless the web server has problems calling accept() as fast as incoming connections arrive). The second is the average latency for writing the HTTP request and reading the answer. The timings are in ?s. Lines starting with "clat" give the normal TCP connect() latency. Since this does not incur any actual work for the HTTP server (besides getting the event and calling accept()), this should be uniformly small. Here are a few useful command lines to plot this with gnuplot: plot "linux.log" using ($2) title "Linux 2.6: connect latency" with histeps plot "linux.log" using ($3) title "Linux 2.6: response latency" with histeps httpbench can also be used to measure throughput. To do that, run it with -c 1 and give the URL to a large file (an ISO image or movie file > 100 MB is good). The output will look something like this: connecting to 127.0.0.1 port 80 tput 21414 tput 25054 tput 25473 tput 13086 tput 22462 tput 110 tput 25104 tput 23306 tput 25026 tput 25067 tput 25453 tput 22296 tput 25709 tput 25394 tput 25141 tput 23719 tput 24419 tput 25089 tput 25459 tput 23715 tput 24156 tput 25413 tput 24975 tput 23840 tput 24563 tput 25072 tput 25451 [...] This is from my external firewire hard disk over the loopback interface. There will be one tput line per megabyte downloaded. The number is 1000000000 divided by the number of ?sec it took to download this megabyte, i.e. the average number of kilobytes per second.