Есть сервер на Amazon EC2 типа m1.xlarge (4 ядра, 15 ГБ) с ubunstu server 12.04.
Внутри — php, mysql, apache и php-приложение (
SugarCRM).
Для тестирования нагрузки используется
Yandex.Tank.
Сервер справляется с 10 запросами в секунду при среднем времени запроса в 300 мс. При увеличении количества запросов в секунду происходит следующее.
Среднее время запроса начинает линейно расти до тех пор, пока 100% запросов не начинают отваливаться по таймауту. Одновременно с этим в mysql начинают копиться процессы со статусом sleep.
Лимиты на количество процессов апача и количества соединений mysql не достигаются, загрузка процессора и использование памяти — в пределах 20%.
При замене связки libapache2-mod-php5 + mpm_prefork на php-fpm + mpm_worker симптомы сохраняются.
В чём может быть причина появления незакрытых процессов? Как определить, из-за чего серверу нехорошо?