First of all, the proper term is stress test. There are quite a few solutions for website stress tests, one hosted solution I'd recommend is loadimpact. What they do is bombard your site with requests from various servers worldwide and give you an analytic report of how your site handled the stress. They have a free test, where you can get a general idea, but for more you'll have to pay a subscription fee.
These kinds of tests only test the website from the visitors point of view, for more specific information you should profile your application locally, and I don't really have anything more to add to the previous answers, I'm using Apache JMeter as well.
And, lastly, as any performance conscious web developer, you should take a look at YSlow:
YSlow for Firefox is integrated into the Firebug web development tool for Firefox.
on StackOverflow, of course!