[ILUG] Slightly OT: Suggestions for performance testing PHP website
Phil Bradley
philb at vodafone.ie
Tue Dec 2 15:14:58 GMT 2008
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
More information about the ILUG
mailing list