Я администрирую виртуальный сервер с 16-кратным процессором Intel (R) Xeon (R) CPU E5-2680 v2 @ 2,80 ГГц и системной памятью 32 ГБ. Сервер используется как веб-сервер и в час пик обслуживает от 100 до 150 пользователей. В это время серверу требуется около 5 секунд для обработки входящих запросов. Сделать что-либо практически невозможно.
Сам сервер работает под управлением Apache / 2.2.22, MySQL 5.5.41-0ubuntu, PHP 5.3.10-1ubuntu3.16 и, конечно же, самописного веб-приложения, использующего платформу CakePHP.
Когда сервер не занят, mysqld занимает около 90% процессора, а когда - до 350% процессора.
$ top
top - 02:58:11 up 6 days, 15:12, 1 user, load average: 1.00, 1.00, 0.85
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.3%us, 0.0%sy, 0.0%ni, 93.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 33554432k total, 2455720k used, 31098712k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 2047796k cached
Я предполагал, что сервер не использует все свои ресурсы и, следовательно, не может обслуживать более 150 клиентов.
Если бы оборудование было достаточно мощным, чтобы обрабатывать такое количество клиентов, что мне делать, чтобы исправить очень высоко скорость загрузки?