William,
A few questions/comments below...
William Voorsluys wrote:
Hello,
On Tue, Jan 20, 2009 at 5:37 AM, Shanti Subramanyam
<[email protected]> wrote:
2GB is really very low for the webserver if you're running apache in
pre-fork mode. Considering you also need memory for the filestore (whether
local or as a nfs client), you need at least a 8GB machine for the
webserver. We've been able to do about 800 users on 8GB but that's pushing
the limit.
In my setup, the bottleneck appears to be the database. I'm
experimenting with 3 machines (2 running apache/php and 1 dedicated to
MySQL). I'm able to scale up to 600 users.
This is surprisingly little memory - 2x1GB for 600 users. Interesting.
Memory appears not to be the problem, unless there's a bug in my
setup. The web servers have got only 1GB of memory and 2 CPUs, and use
up to 800MB on steady state. Increasing the number of CPUs and the
amount of memory in the web servers actually decrease the performance,
maybe because MySQL thrashes.
The MySQL machine has got 1GB of memory and 4 CPUs. Similarly,
increasing memory doesn't help, but when I increased the number of
CPUs from 2 to 4, it really helped.
I've seen great variation of MySQL performance and resource consumption
depending on which exact version of MySQL is being used. With caching
RFEs being implemented and the queries a bit better optimized (check out
JIRA for recently-fixed issues), MySQL should become less of a
bottleneck. Also try different MySQL versions.
Thanks,
-Akara
William Voorsluys wrote:
Hello Akara,
I fixed the MySQL problem and the database loading process is very fast
now.
Your report looks very good, except for the misc stats. You can certainly
scale much higher than 100 concurrent users.
Surprisingly, I'm unable to scale much higher than 100 users. Although
it seems that dealing with 100 users is piece of cake, 150 seems to be
too many.
AddPerson and AddEvent fail constantly.
AddPerson 2.301 10.731 4.200 3.000 FAILED
AddEvent 1.878 9.532 4.220 4.000 FAILED
I tried several different configurations, such as moving the database
and filestore to local disk instead of NSF; using a second machine for
MySQL only; and increasing the number of driver machines.
The bottleneck seems to be the web server/PHP itself. This machine has
got 2GB of memory and I haven't observed high memory and CPU
utilization in it. The ops/sec metric seems to be limited to around
29 in all configurations.
Is there a precise way of identifying the bottleneck from the report?
Best,
William