What is optimal hardware configuration for heavy load LAMP application

Posted by Piotr Kochanski on Stack Overflow See other posts from Stack Overflow or by Piotr Kochanski
Published on 2010-03-16T10:37:31Z Indexed on 2010/03/29 22:53 UTC
Read the original article Hit count: 326

Filed under:
|
|
|
|

I need to run Linux-Apache-PHP-MySQL application (Moodle e-learning platform) for a large number of concurrent users - I am aiming 5000 users. By concurrent I mean that 5000 people should be able to work with the application at the same time. "Work" means not only do database reads but writes as well.

The application is not very typical, since it is doing a lot of inserts/updates on the database, so caching techniques are not helping to much. We are using InnoDB storage engine. In addition application is not written with performance in mind. For instance one Apache thread usually occupies about 30-50 MB of RAM.

I would be greatful for information what hardware is needed to build scalable configuration that is able to handle this kind of load.

We are using right now two HP DLG 380 with two 4 core processors which are able to handle much lower load (typically 300-500 concurrent users). Is it reasonable to invest in this kind of boxes and build cluster using them or is it better to go with some more high-end hardware?

I am particularly curious

  • how many and how powerful servers are needed (number of processors/cores, size of RAM)
  • what network equipment should be used (what kind of switches, network cards)
  • any other hardware, like particular disc storage solutions, etc, that are needed

Another thing is how to put together everything, that is what is the most optimal architecture. Clustering with MySQL is rather hard (people are complaining about MySQL Cluster, even here on Stackoverflow).

© Stack Overflow or respective owner

Related posts about apache

Related posts about mysql