Tools for load-testing HTTP servers? [duplicate]
I've had to load test HTTP servers/web applications a few times, and each time I've been underwhelmed by the quality of tools I've been able to find.
So, when you're load testing a HTTP server, what tools do you use? And what are the things I'll most likely do wrong the next time I've got to do it?
JMeter is free.
Mercury Interactive Load Runner is super nice and super expensive.
I feel unusually qualified to answer this question, since my current company needs to simulate 25,000 simultaneous connections to our web servers (we serve online ads).
For extremely high-volume load testing, Httperf is the way to go. It's free, and in our experience, it can simulate more simultaneous connections that JMeter or STA on the same hardware.
Edit:
Just in case you're curious, we simulate 3500 requests per second on a low-power, inexpensive, ultra-small-form-factor Optiplex 330. These little boxes cost only $280, and we have a bunch of them hooked up to run Httperf on-demand. By comparison, JMeter could only push about 800-900 req/sec on this hardware.
If you just want to throw load at a single URL at a time on a web server then download Apache AB. It comes with Apache HTTP server.
Simple command
ab -n 10000 -c 10 http://serverfault.com/questions/2107/tools-for-load-testing-http-servers
would run 10000 requests with a concurrency of 10 users.
If you want to record browsing sessions then go upvote and accept the jmeter answer. Jmeter is amazing and it can scale to many test machines that can throw huge load.
There is Tsung, an Erlang based tool.
There's also a really long list of tools over at http://www.softwareqatest.com/qatweb1.html#LOAD