j already mentioned siege, which is is really great and is my go-to tool for small tests (ie a great replacement to Apache ab tool)
As soon as the scenario becomes more complex, I'd turn my head to (in that order):
There are many others, but these are the most common ones you're likely to find if you google for feedback and comparaisons.
Then you have hosted services to run load-tests, which I haven'T used enough to give any opinions.