simplest way to benchmark a URL

Since I will forget this:

ab -c 10 -n 100 http://127.0.0.1:3000/observations/1602.json

ab is a simple benchmarking tool from Apache. -c 10 means 10 concurrent connections, -n 100 means 100 requests. Note that it gave me Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (61) when I tried it on http://localhost:3000/, but that seems to be an IPv6 thing and replacing that with 127.0.0.1 seemed to work.

You can also do this with POST requests if you have HTTP Basic auth:

echo "observation[latitude]=38&observation[longitude]=-121" > post.txt && \
ab -c 10 -n 100 \
  -A username:password \
  -T application/x-www-form-urlencoded \
  -p post.txt \
  "http://127.0.0.1:3000/observations" && \
rm post.txt

Haven’t found a way to just give it POST params without creating a file, but whatever, this works.

Comments are closed.