How to stress test web server?

Is there a tool (preferably a web service) that can stress test our site? We're having problems with our site going down once we have about 100 concurrent users. Forums seem to suggest I need to tweak my httpd.conf. I plan to try to tweak httpd.conf, but need to know if the tweaks actually did anything. So stress testing it after each configuration change might be my plan of attack. Suggestions?


Solution 1:

If you're using Apache you can use a utility called ab (Apache Bench).

From the fine manual:

SUMMARY
ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.

It's that last bit that you'll be interested in.

Solution 2:

You could also try JMeter

Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.