2014-05-15 3 views
0

Я столкнулся с проблемой с Apache. Уже два раза он просто остановился, нажав кнопку MaxClients (33, как показано ниже) и перестает принимать новые запросы.Процессы Apache задерживаются, несмотря на все

Apache Timeout 30 sec 
KeepAliveTimeout 2 sec 
PHP max_execution_time 30 sec 
mysql connect_timeout 10 sec (no problems there, kept serving other clients) 

Apache версии 2.2.22 (Ubuntu) mod_php

Что я здесь отсутствует? Что бы убедить Apache, что процессы так задерживаются? Есть ли способ ограничить время «настенных часов» для процессов Apache? Перезапуск Apache - это лекарство, но я все же предпочел бы знать основную проблему.

ps auxf, принято 14:30, поэтому процессы застряли более 30 минут!

root  25963 0.0 0.3 273860 12656 ?  Ss May04 6:43 /usr/sbin/apache2 -k start 
www-data 15120 0.1 1.0 289684 44872 ?  S 13:56 0:03 \_ /usr/sbin/apache2 -k start 
www-data 15301 0.0 0.9 290644 41624 ?  S 13:57 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15392 0.1 1.0 290636 43800 ?  S 13:57 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15570 0.0 0.9 287508 40512 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15575 0.0 0.9 290684 41528 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15576 0.1 1.0 290612 45080 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15581 0.1 0.9 290684 41420 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15582 0.0 0.9 288508 40124 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15583 0.1 0.9 288500 40640 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15584 0.0 1.0 290592 43832 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15593 0.1 1.0 289444 41956 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15669 0.0 1.0 290432 42312 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15754 0.0 1.0 289200 42468 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15788 0.1 1.0 290580 42068 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15789 0.0 0.9 290428 41088 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15790 0.0 0.9 290488 41004 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15792 0.0 0.8 285756 35944 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15793 0.0 0.9 290488 40880 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15794 0.1 1.0 290508 44920 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15799 0.0 0.8 285796 36540 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15800 0.0 0.9 290432 40940 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15801 0.0 0.8 285604 36128 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15802 0.1 0.9 290556 41548 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15803 0.0 0.9 290660 41140 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15804 0.1 0.9 288068 40104 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15805 0.0 0.8 284796 33744 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15806 0.0 0.9 290344 40744 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15811 0.0 0.9 290412 41060 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15812 0.1 1.1 291668 47908 ?  S 13:58 0:02 \_ /usr/sbin/apache2 -k start 
www-data 15813 0.0 0.9 290512 40980 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 
www-data 15814 0.0 0.9 289348 40912 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15815 0.0 0.9 290508 40908 ?  S 13:58 0:00 \_ /usr/sbin/apache2 -k start 
www-data 15816 0.0 0.9 290508 41020 ?  S 13:58 0:01 \_ /usr/sbin/apache2 -k start 

ответ

0

Интересный вопрос, и у меня была очень похожая проблема. Я запускаю сайт на AWS t2.micro, который имеет только 1 гигабайт памяти. Как и вы, сайт «остановится». Для отображения страницы индекса php потребуется 30 секунд. Я работаю на Ubuntu 14.04 с Postgres в качестве базы данных.

Я понял, что apache на самом деле не проблема. Если я остановил postgres, то apache будет быстро выполнять страницы, хотя и без данных. Но это, безусловно, указывало на то, что постгир был виновником. Процессы Apache ожидали запросов Postgres, поэтому я видел много процессов Apache2. Чувствует себя как утечка памяти Postgres, но трудно прибить ее.

Я обновился до экземпляра t2.small на AWS, который имеет 2 гигабайта памяти. До сих пор так хорошо, как никаких проблем. Держа пальцы.

Смежные вопросы