проблема такая: Сайт в случайное время не зависящее от нагрузки, а также количества пользователей начинает тупить, точнее Параметр Load Average (top) начинает подниматься.
ситуация такая: (после появления проблемы, сделано следующее)
была установлена связка Nginx + PhpFpm, Apache убрали совсем.
настроено кэширование для статики.
при нагрузке Idle процессора бегает от 100 до 80, иногда может чуть упасть, но не сказать что он сильно нагружен! (top)
оперативная память в большинстве случаев остается свободна, иногда уходит в ноль, но редко! (top)
в такие моменты начинают долго исполняться запросы БД (простые UPDATE по primary_key) доходит до 30 секунд. Slow-запросов нет в обычном режиме
я проверил БД - ошибок нет.(mysqlcheck) критических рекомендаций тоже.(mysqltuner)
БД в связи с долгим исполнением запросов вешает PhpFpm, а он в свою очередь Nginx и вылазят ошибки 502 и 504.
последний раз в момент нагрузки,как только все началось я вырубил БД. она долго отключалась, как всегда, когда отключилась нагрузка не упала, а так и осталась. причем без БД сайт не грузится вообще. на первой строчке кода выходит ошибка подключения (это предусмотренная ошибка) к БД и скрипт останавливается.
Заключение:
без БД ошибка подключения показывается в принципе без задержек, почти всегда. но Load Average не опускался, а даже наоборот!
Также в пиковое время при одновременном посещении около 60 человек сайт работал нормально, а LoadAverage был в районе 0.30
скорее всего проблема в БД. Например память кончается - начинается своп. Смотрите в iotop и пр на предмет дисковых операций. Настройки mysql дефолтные?
apocalypses: iotop -o -k -a или iotop -oka это I-O топ следит за импут оупут системы, часто помогает найти проблему связаную с чтением записью, нужно доустанавливать apt yum и тд.