Load testing
In this context, we would like to suggest two tools: Siege and httperf.
Siege is multi threaded and will quickly reveal weaknesses in your stack with regards to read operations.
httperf
is also good for providing load,
but excels with its scripting support. This allows you to
write session scripts (i.e. what a given users would issue of
GET, PUT, POST and DELETE operations). Furthermore, it can
replay your Apache access logs, giving your tests real user
traffic patterns as opposed to looping through a list of URLs
sorted in alphabetical order.
Here is an example of running httperf
. The
call will create 1000 connections with 20 requests in each,
establishing 100 connections per second. Please see
man httperf
for an detailed explanation of
the parameters:
$ httperf\ --hog \ --server myserver.com \ --num-conn 1000 \ --ra 100 \ --num-calls=20