Приветствую всех!
Занимаюсь проектом с посещаемостью ~25k хостов в сутки.
Столкнулся с проблемой, что текущего железа, видимо, не хватает.
Сейчас стоит 8GB RAM + Intel Xeon E5410 2.33 ГГц.
Из ПО: FreeBSD 7.2, nginx, php-fpm, mysql5.При генерации страниц при нагрузках наблюдаю следующая картину: запросы к БД занимают к примеру 300ms, а страница вся генерится 4-5sec.
Когда нагрузки толком нет (100-200 юзеров онлайн), то запросы к примеру занимают 100-150ms, а общее время генерации страницы 300-400ms.
Сначала оптимизировал запросы, таблички. Раньше в top на первом месте при нагрузках всегда висел mysqld, сейчас (после оптимизаций БД) mysqld далеко не на первом месте, а на первом месте и вообще в топе процессы php-fpm.
SHOW PROCESSLIST почти все время пустой, 1-2 запроса выполняются.
в top примерно следующая ситуация:
last pid: 87333; load averages: 9.09, 9.54, 9.69
192 processes: 16 running, 174 sleeping, 2 stopped
CPU 0: 89.8% user, 0.0% nice, 10.2% system, 0.0% interrupt, 0.0% idle
CPU 1: 91.0% user, 0.0% nice, 5.6% system, 0.0% interrupt, 3.4% idle
CPU 2: 94.0% user, 0.0% nice, 4.9% system, 0.0% interrupt, 1.1% idle
CPU 3: 94.0% user, 0.0% nice, 3.4% system, 0.0% interrupt, 2.6% idle
Mem: 1053M Active, 5421M Inact, 740M Wired, 235M Cache, 399M Buf, 439M Free
Swap: 4096M Total, 528K Used, 4095M Free
Как я понимаю, все упирается в процессор.
1. Насколько сильно может помочь установка второго такого же процессора в сервер?
Вот еще статс nginx'а:
Active connections: 921
server accepts handled requests
15814759 15789148 154277883
Reading: 2 Writing: 60 Waiting: 859
Собственно, собираюсь ставить второй сервер для некоторых других нужд и думаю разгрузить основной сервер, перенеся на второй всю статику.
2. Или может лучше на втором оставить php-fpm только, раз он столько потребляет?
3. Или может на него (второй сервер) лучше вынести mysql?
4. А может железо такого за глаза должно хватать для веб-портала средних размеров, просто код кривой?
5. Или может настройки ПО кривые какие-то?
Буду благодарен за любые ссылки на статьи, заметки, где рассматриваются схемы организации высоконагруженных веб-проектов.
Спасибо за внимание.