Примерно через ~ 20 минут кажется, что мой сервер apache перестает подключаться. Под неподключенным, я имею в виду, если я curl
любая страница просто ничего не дает в течение 2-3 минут, а затем ничего не появляется. Я вынужден перезапустить apache, чтобы его можно было использовать. Сама коробка кажется прекрасной, так как я всегда вхожу по SSH ... так что я думаю, что это просто штука Apache.
Через ~ 3-5 минут после остановки / запуска сервера apache использование памяти замедляется:
В одну секунду это:
CPU MEM
21997 root 20 0 459m 208m 8504 R 45.8 20.8 10:14.56 apache2
Следующий:
21997 root 20 0 459m 208m 8504 S 8.8 20.8 10:37.37 apache2
Итак, в одну секунду это 40% ЦП, 20% памяти
Есть только 2-3 небольших веб-сайта, которые используют PHP, поэтому они никак не могут использовать такой объем памяти. Интересно, почему это происходит ?!
Моя конфигурация для Apache (prefork):
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
Версия сервера: Apache / 2.2.22 (Debian)
В Debian Wheezy с использованием libapache2-mod-php5
Я знаю mod_php
вероятно, не самый эффективный, и могут быть лучшие альтернативы, такие как php-fpm
, и / или используя nginx
но я хочу понять корень проблемы, а не избегать ее.
Буду признателен за любые советы.
Конфигурация для apache2 я считаю стоковой. Используя DigitalOcean VPS, уровень передачи 1 ГБ / 30 ГБ / 2 ТБ.
РЕДАКТИРОВАТЬ # 1: Я только что прочитал статью по оптимизации Linode, в которой упоминается поворот KeepAlive
выключен на серверах с низким объемом памяти. Я собираюсь попробовать это и посмотреть, как это пойдет.
Вы проверили свои журналы? access.log и error.log?