I'm getting frustrating issues trying to carry out a highly concurrent test using ab (apache bench) on OS X. A snipit from the output appears like:

Completed 1998 requests
Completed 2664 requests
Completed 3330 requests
apr_pollset_poll: The timeout specified has expired (70007)

The command I'm running is one thing like: (I'd like the concurrency to become even greater! Let me reach least 20,000 revoltions per minute hitting the server)

ab -k -r -c 400 -n 60000 [URL HERE]

Has anybody encounter this -- love a push within the right direction. And That I would like to do that on my small mac.

My Atmosphere:

  • OS X : 10.6.8
  • httpd : Apache/2.2.20 (Unix)
    • Architecture: 64-bit
    • Server MPM: Prefork
    • threaded: no
    • forked: yes (variable process count)
  • ab : Version 5.3 (constructed from latest apache http beta)
  • ulimit -a yields:
    • core quality (blocks, -c)
    • data seg size (kbytes, -d) limitless
    • quality (blocks, -f) limitless
    • max locked memory (kbytes, -l) limitless
    • max memory size (kbytes, -m) limitless
    • open files (-n) 1024
    • pipe size (512 bytes, -p) 1
    • stack size (kbytes, -s) 8192
    • cpu time (seconds, -t) limitless
    • max user processes (-u) 266
    • virtual memory (kbytes, -v) limitless

I've discovered an incredible utility that solved my problem stylishly:

Bees with Machine Guns!!

Repository: https://github.com/newsapps/beeswithmachineguns

Blog entry about this: http://blog.apps.chicagotribune.com/2010/07/08/bees-with-machine-guns/