Назад | Перейти на главную страницу

Apache перестает подключаться через определенное время?

Примерно через ~ 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 выключен на серверах с низким объемом памяти. Я собираюсь попробовать это и посмотреть, как это пойдет.

Apache - keep-alive или не keep-alive?

Вы проверили свои журналы? access.log и error.log?