Siege is a command line tool that is available in Linux and Mac OS X via homebrew. It allows you stress / load test your sites. From the Siege home page:

Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP and HTTPS protocols. It lets its user hit a web server with a configurable number of simulated web browsers. Those browsers place the server “under siege.”

A simple use-case would be using Siege to stress test your site for a period of 30 seconds and measuring the results. You would do so by executing the command:

sudo siege -c20 outpostbeta.com -t30s

The “-c20″ command specifies that you want to simulate 20 concurrent connections, while “-t30s” means that you want to execute the siege for a period of 30 seconds. The output would look something like the following:

Siege Output

Of course there are many more uses for Siege, and lots more options. To learn about them all and make Siege a part of your Web Dev toolkit check out the official User’s Manual.

What other command line tools do you find extremely handy?