Tom's Blog

Apache Bench (ab) timings explained visually

Apache Bench (ab) is a HTTP load testing tool. ab can be configured to output the raw timings:

$ ab -n 5 -g raw-data 'https://google.com/' > /dev/null
$ cat raw-data
starttime   seconds ctime   dtime   ttime   wait
Wed Aug 06 19:11:27 2014    1407348687  8   2   10  2
Wed Aug 06 19:11:27 2014    1407348687  8   2   11  2
Wed Aug 06 19:11:27 2014    1407348687  9   2   11  2
Wed Aug 06 19:11:27 2014    1407348687  9   3   12  3
Wed Aug 06 19:11:27 2014    1407348687  9   9   18  8

However, ctime, dtime, ttime & wait are not documented.

Through Wireshark wrangling and reading the ab source file, I managed to figure out what they are:

  • assumes first byte from server comes after when the request is written
  • the diagram is ugly, sorry

If it still isn’t clear, or if it’s inaccurate, please tell me.

blog comments powered by Disqus