I would appriciate if somebody could give me some comments on this server specs.
Currently we have a server
Pentium 4 2.4 Ghz
2 hard disk in Raid 1 configuration
we have tried a quiz with 200 concurrent users, the event was a flop. We have now upgraded the ram to 2GB and we are going to give it another try with 100 users and hope that the machine holds up.
The other upgrade path is to use a 2 server setup, 1 doing the mysql and the other doing apache.
which of the 2 server should be a higher end machine (we are thinking of getting a dual Xeon with 2 GB ram and using the existing machine).
With this set up has anybody tried what is the load which it can take?
Thanks in advance.
First and foremost, you don't have nearly enough memory.
A single 2.4 P4 with 2 gig would be really taxed with 100 concurrent users, much less 200.
The other thing you have to consider is your bandwidth. 200 people moving files back and forth can eat up a lot of bandwidth.
I'm selling a dual Xeon poweredge with 2 g memory, if you are interested.
- More memory. Lots more.
- Split the load across more disks -- tune aggressively for the database. I've posted some good links about how to tune your DB server.
- Tune Apache -- search for maxclients.
- Monitor where the bottleneck is so you spend money and effort where it matters. Again, if you search the forums I've posted about good monitoring tools.
- Do split DB from Apache AND get the high-end machine for the DB server.
- Do search around this forum a lot, and read up on monitoring and tools.
- Run at least linux 2.6.14. with CFQv3.
I'm curious about the possible performance boost from putting MySQL on a seperate box. In my benchmarks I've never seen mysqld use more than 10% of CPU while Apache/PHP was hogging the rest. I would have figured that, because of this, network bandwidth would be a bigger bottleneck.
A single well tuned server for the db will handle tremendous loads and then a number of lesser servers to handle the Apache duties. I have been involved with these setups for sites with over 100K users running intensive db apps.
I would read up on the above links to "Tuning" on Apache and mysql. I have seen reductions of 50% or more on servers running Mysql just be setting up the query cache. A small thing that can reap large gains.