What is the optimal hardware configuration for a heavy-load LAMP application

I need to run the Linux-Apache-PHP-MySQL (Moodle e-learning platform) application for a large number of concurrent users - I target 5,000 users. By the same time, I mean that 5,000 people should be able to work with the application at the same time. "Work" means not only reading the database, but also writing.

The application is not very typical, since it makes a lot of attachments / updates in the database, therefore, caching methods do not help much. We use the InnoDB storage engine. In addition, the application is not written in terms of performance. For example, a single Apache thread typically takes about 30-50 MB of RAM.

It would be useful for me to find out what equipment is required to create a scalable configuration capable of handling such a load.

We are currently using two HP DLG 380s with two 4-core processors that can handle significantly less load (usually 300-500 concurrent users). Is it wise to invest in such boxes and create clusters using them, or is it better to go with some more powerful hardware?

I'm especially curious

  • how many and how many powerful servers (number of processors / cores, RAM size)
  • what network equipment should (which switches, network cards)
  • any other equipment, like a specific disk storage solution, etc., which are necessary

, , . MySQL ( MySQL Cluster, , Stackoverflow).

+3
3

, , , , .

EC2, , LAMP. , , , , , , , ...

.

, . (, , MySQL) . SimpleDB, BigTable .

- , , - .

+2

, :

, , , , master-slave . , .

, data-mapper/ORM, HTML, Memcached . , db memcached, IdentityMap . , , Memcached, -.

MySQL.

SQL, , .

0

Piotr, moodle.org? , .

, , , moodle 2.0, moodle 1.9, , moodle .

also: memcached rocks for this. php rock acceleration for this. serverfault is probably the best exchange site for this question, though

0
source

Source: https://habr.com/ru/post/1737123/


All Articles