I've been poking around at some benchmarking to see how my app is performing
(mongrel cluster/pound). Currently, I'm using ab and httperf and collecting
requests/second. I'm not convinced that I'm using realistic loads.
What are others using for the options to these benchmark programs?
I attack the problem from the other end. Take actual usage and make that faster. Getting a report of what actions need optimization is a better way to focus your energies.
Creating realistic loads can be hard, so I don't bother trying to simulate it.
Thanks, Eric. I've read your Tools section before and your analysis is
excellent. As an optimization technique, I agree with what you say.
What I'm after right now is a way to understand how much headroom my app
has. I.e., what would happen if we never touched a line of code and then
experienced an order of magnitude more traffic.
I think ab and httperf are somewhat blunt instruments but they can be useful
in understanding some of the response characteristics of different
configurations, no?
Yes, and to get the right traffic mix you can use your logs to get an idea of where that load is likely to go.
I bet you could combine pl_analyze's report (for actions and frequencies) with railsbench's benchmarks.yml to get a realistic answer to your question. You might need to throw in some extra log file analysis to look at params, since some parameters may have wildly different performance characteristics.