If you're aiming to build highly responsive websites or web applications, chances are at some point you'll want to do some stress-testing using siege, an excellent "http load testing and benchmarking utility".
If you're using OS X, you're probably familiar with (and using) homebrew to "install the missing Unix/Linux packages that Apple didn't".
So, to install
siege, you'd normally do a
brew install siege.
EDIT: The "hack" below is no longer necessary, now that Apple updated XCode & XCode CLT to 5.0.1 and homebrew got a few updates. Also, the siege brew was updated to 3.0.5.
However, right now, with Mavericks just released and a few breaking changes in XCode 5, not every homebrew formulae out there works as it's supposed to. For instance,
siege doesn't work with HTTPS anymore.
This works as expected:
siege -c 50 http://www.google.com
siege -c 50 https://www.google.com
...is throwing an odd error:
siege: [error] descriptor table full sock.c:108: Too many open files`.
Looking at the error, you'd normally be tempted to fiddle around with
ulimit, but it didn't work for me...
After digging around a bit, I've come to the conclusion that something must have changed in the native OS X OpenSSL, so I've came up with the following - far from perfect, but working - solution:
brew uninstall siege brew install openssl brew link --force openssl brew install siege
Please note that
brew link --force openssl will overwrite the default OS X OpenSSL implementation, which may break a few things in your system, there's even a warning message about it, so doing a prior system backup would be highly recommended.
I've made a backup, of course, but for me everything seems to work just fine...
I hope this will save you a few hours :-)...