Using Apache Benchmark (ab) on sites with authentication

Updated . Posted . Visible to the public.

Apache HTTP server benchmarking tool Show snapshot (ab) is a nice tool to test performance on sites delivered by HTTP. If the site you're about to test is placed behind a login, follow these steps to successfully use ab on it.

  1. Open the site to test in the browser of your choice. Do not login yet.
  2. Use developer tools to show all cookies used by the site. (Chrome: Ctrl+Shift+i, open the 'Resources' tab and click on the site below 'Cookies' on the left. Firefox: Right-click on the site, open 'Web Developer -> Cookies -> View cookie information)
  3. In order to see which cookies are really necessary, delete all cookies, reload the page, log into the site and reload the cookie information site. For Rails powered sites, you should see a cookie named '_your_site_session' and -- depending on your authentication solution -- something like 'remember_token'.
  4. Prepare the cookie string for ab by appending the pairs of cookies name and value like this: cookie_name_1=cookie_value_1;cookie_name_2=cookie_value_2;cookie_name_3=cookie_value_3 ...
  5. Open a terminal and run your benchmark: ab -n 100 -c 10 -C $cookie_string http://your_site/admin/site-to-load. man ab to find out about -n and -c.
Thomas Eisenbarth
Last edit
rails, ab, apache, bench
Source code in this card is licensed under the MIT License.
Posted by Thomas Eisenbarth to makandra dev (2013-01-18 06:06)