Hi all,
I have a site written in PHP/Apache/Postgres/Windows (I know, they're a
non-profit and Windows is what they were given) which will be going live
shortly. It will be reasonably high profile, and we expect at least a
couple of thousand visitors on the first day and a sustained rate of
maybe 1000 vistors per day (I'm stabbing in the dark a little on the
numbers).
I've gone through sourceforge looking for something that will help me
with characterising the performance of the system under load but I've
had little success so far.
What I'd like to see is how the response time for a given sample page
varies with the number of simultaneous users making requests. I envisage
something like a HTTP client with "n" threads/processes, repeatedly
fetching from the server under test (maybe with a random wait time
between fetches to simulate human behaviour). They might be re-fetching
the same content repeatedly or maybe drawing sequentially/randomly from
a set of test URLs. So a system configured to simulate 10 users would
consist of 10 threads repeatedly fetching from the server. This would
then be repeated for a range of values of "n".
If my mental model is correct, I would expect the response time to be
invariant with respect to "n" initially. At some point, as the system
encounters bottlenecks, requests would start to get queued and the
response time would then be a linear function of "n". Obviously,
there'll be a point at which the network/server is just saturated and
the numbers will cease to be meaningful, reaching that point is also
useful as it would indicate the level of traffic at which the site
becomes useless.
So, my questions are:
1. Does this seem like a reasonable testing methodology
2. Is there a tool the can implement this type of methodology?
I've tried out OpenSTA, JMeter and WebLOAD but they don't quite seem to
do this. When you eliminate alpha projects that haven't been updated
since 2001 from sourceforge, there are too many left. I can probably
script something in perl but if there's something pre-rolled, I'd like
to avoid the overhead of having to code it myself.
Thanks,
-Phil
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!