Большая нагрузка на Apache: как выявить причины ?

Статус
В этой теме нельзя размещать новые ответы.
Возможно хитрый ddos, нужно смотреть сервер
 
Аналогичная проблемма как у ТС'а, только на сервер стоит ngninx, Server Load периодически прыгает до 260, приходится killall httpd через ssh, иначе висит очень долго. Хотя ещё пару недель назад всё было отлично, что за ерунда непонятно (на сервере стоят DLE сайты (5 штук) с общей посещаемостью до 20 тыс. уников)
сам уже ответил на свою проблемму
тё нада или рознести сайты на разние сервера, или создать кластер из нескольких серверов, или балансировать нагрузку с помощю nginx между серверами, или менять железо.

понимаеш, чем больше посещения, тем больше нагрузка на сервер. если сервер не может нормально выгребать нагрузку советую обновить железо(если старое) или ставить ище несколько серверов и соединить их nginx-ом.

у меня тоже около 20тис. посищения, была подобная проблема. решыл ее бысто, когда усановил ищё 2 сервера, тепер 1-й с nginx-ом распредиляет посещения между 2-ма другими.
 
Аналогичная проблемма как у ТС'а, только на сервер стоит ngninx, Server Load периодически прыгает до 260, приходится killall httpd через ssh, иначе висит очень долго. Хотя ещё пару недель назад всё было отлично, что за ерунда непонятно (на сервере стоят DLE сайты (5 штук) с общей посещаемостью до 20 тыс. уников)
Может кому пригодится. Та же история nginx+apache2 prefork на дебиан. Пару раз нагрузка была такая, что просто недостучаться до апача, а процессов 150 штук, и они не отваливались на протяжении 3х часов. Помогал только рестарт. Сначала думал что со скриптами что-то, но тестовый phpinfo и http_load на него, показал, что дело не в них. Чутка посоображав, решил следующим методом. Поскольку вся статика раздается nginx то высталенные по умолчанию настройки для mpm_prefork_module
Код:
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
Нас не интерсуют, поскольку они позволяют одновременно запустить 150 скриптов на выполнение. Ну а если рантайм скрипта сам по себе 0,25 секунд, то даже если запросить одновременно 150 по одному разу будет 37,5 секунд + нехилый оверхед на разделение ресурсов. Короче, юзер не дождется :) Я для себя поставил следующее:
Код:
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers       5
    MaxClients            5
    MaxRequestsPerChild   0
</IfModule>
Ну и
Код:
KeepAlive Off
Это позволило ограничить одновременное выполнение только 5 скриптов, остальные будут ждать. Мне помогло. Даже http_load с серьезными значениями позволил достучаться до сервера, пусть и с задержкой.
 
Снова поднимаю тему. Нужна помощь :thenks:
На сервер поставил 8 гигов памяти!
Перенастроил конфиг MySQL и Apache
Apache
PHP:
MaxSpareServers 30
MinSpareServers 10
StartServers 30
ServerLimit 150
MaxClients 150
KeepAlive On
KeepAliveTimeout 3
MaxKeepAliveRequests 40
TimeOut 100
MaxRequestsPerChild 30
Mysql
PHP:
safe-show-database
interactive_timeout=10
wait_timeout=10
key_buffer=145M ## 32MB for every 1GB of RAM
table_cache=512
log_slow_queries = /var/log/slow-q.log
long_query_time = 2
tmp_table_size = 33654432
Все равно сервер зависает.
Причем зависает без какой либо причины. :mad:
Траффика особо нету
Current Time: Saturday, 20-Mar-2010 13:56:39 MSK
Restart Time: Saturday, 20-Mar-2010 09:03:16 MSK
Parent Server Generation: 9
Server uptime: 4 hours 53 minutes 23 seconds
Total accesses: 139006 - Total Traffic: 1.4 GB
CPU Usage: u22.32 s6.26 cu0 cs0 - .162% CPU load
7.9 requests/sec - 81.4 kB/second - 10.3 kB/request
31 requests currently being processed, 23 idle workers
.KW.W_K.._____W_K___K__K.K_C_KKK_C___.WKW.K.K.....W....W...WW__.
._..__..K..........K.C...WK..WW.W...............................
......................
и несмотря на все это в любой момент может пойти загрузка.
В памяти апачей висит штук 50. как только перезапускаю нагрузка падает.
Вопрос: Из за чего может происходить такая ситуация :nezn: ? - посетителей особо нет, а сервер падае
 
Попробуй сделать KeepAlive Off. Как по мне KeepAlive - бесполезная трата ресурсов т.к. Apache начинает безбожно форкаться и тупить систему.
 
Попробуй сделать KeepAlive Off. Как по мне KeepAlive - бесполезная трата ресурсов т.к. Apache начинает безбожно форкаться и тупить систему.

проблема решена.

Глюк был в сборке апача

Я просто взял и через EasyApacheUpdate пересобрал все и глюки исчезли
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху