Apache некорректная работа

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-26 12:51:26

Здравствуйте.
Есть установленая ОС FreeBSD 7.0 и вебсервер Apache 2.2.8 с установленой поддержкой php5. PHP работает как модуль апач. Есть скрипт написаный на php, его выполнение "на глаз" (смотрел командой top) занимает около полсекунды, пр этом процессор получает нагрузку 99. Скрипт неудачный само собой но он помог мне увидеть кое что. Я провел эксперимент: запустил через шелл top, а в другом окне открыл браузер и запустил этот скрипт. Он выполнился, после этого я начал нажимать быстро и подряд кнопку обновить в браузере. При этом наблюдалась следующая картина: количество процессов httpd возростало на глазах, значение загрузки процессора постоянно было на 99, а значения средней загрузки постоянно увеличивались. В итоге за 2-3 минуты таких щелчков по кнопке обновить, я добился такой картины:
last pid: 14914; load averages: 150.78, 109.96, 56.44 up 0+11:22:41 12:15:51
223 processes: 177 running, 46 sleeping
CPU states: 0.0% user, 0.0% nice, 100% system, 0.0% interrupt, 0.0% idle
Mem: 545M Active, 247M Inact, 158M Wired, 36M Cache, 111M Buf, 3748K Free
Swap: 2048M Total, 2048M Free
при чем это можна можна сказать последнее что я видел, так как после этого ssh перестал отвечать, сайты на сервере не открывались, но сервер пинговался. Через минут 15 он разгрёб эти процессы и всё встало на свои места.
Так вот проблема в том что это был эксперимент, а если кто-то намеренно такое сделает. Как от этого спастись?
Я пробовал ограничивать время на выполнения скрипта пхп, это не выход. так как при повышеной загружености процессора требуется больше времени на обработку скриптов и они не выполняються.
Подскажите пожалуйста как решить эту проблему?
Заранее большое спасибо за помощь.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-26 12:56:41

BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-26 13:51:53

спасибо за ссылку, у меня эти модули не установлены. Надеюсь что проблема кроеться как раз именно в том что их нет.
Попробую установить, посмотрю исправиться ли проблема.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-26 14:01:00

bopoh_inc писал(а):спасибо за ссылку, у меня эти модули не установлены. Надеюсь что проблема кроеться как раз именно в том что их нет.
Попробую установить, посмотрю исправиться ли проблема.
Вы по сути дела задосили свой сервер, он тупо скушал кучу памяти и процссорного времени, нужно что-то ограничивать... что решать вам.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-26 20:54:39

тоесть как я понял мне нужно ограничивать или процессорное время на выполнение скрипта или количество выделяемой памяти на его выполнение?

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-26 22:39:06

Установил я модули mod_security2 и mod_dosevasive20
Как я понял мою проблему должен решать модуль mod_dosevasive20 В настройках я прописал следующее:
<IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 5
DOSSiteInterval 1
DOSBlockingPeriod 300
</IfModule>
И снова провел свой эксперимент. Честно сказать процесы создавались с меньшей скоростью, но всё равно в итоге процессор был перегружен и сервер перестал обслуживать запросы. ((
Возможно я неправильно прописал значения в настройке модуля?

Аватара пользователя
helloworld
ст. сержант
Сообщения: 368
Зарегистрирован: 2007-10-03 8:06:37
Откуда: Northern Colorado

Re: Apache некорректная работа

Непрочитанное сообщение helloworld » 2008-05-26 22:51:20

А можно увидеть волшебный скрипт на php который уносит машину в даун ? Или киньте в личку, если супер секретно.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-27 6:17:08

Какие настройки по количеству форков апача?
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-27 12:12:24

<IfModule mpm_prefork_module>
MaxKeepAliveRequests 100
KeepAliveTimeout 5
ServerLimit 256
StartServers 15
MinSpareServers 15
MaxSpareServers 20
MaxClients 200
MaxRequestsPerChild 500
</IfModule>
а скрипт увидеть можна. я в архиве могу его дать, правда он зендом защищен так что многое увидеть неудастся.
Там используеться простой движок который тянет новости по RSS
http://alltems.ru/
возможно сам движок вам будет знаком

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-27 12:15:47

bopoh_inc писал(а):
<IfModule mpm_prefork_module>
MaxKeepAliveRequests 100
KeepAliveTimeout 5
ServerLimit 256
StartServers 15
MinSpareServers 15
MaxSpareServers 20
MaxClients 200
MaxRequestsPerChild 500
</IfModule>
Для начала MaxRequestsPerChild 0 очень рекомендуют.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-27 12:28:34

Установил MaxRequestsPerChild 0
к сожалению результат тот же. Снова создается куча процессов httpd и загруженности процессора.
Может есть возможность сделать так что бы при посылке нового запроса старый процесс удалялся, и только потом создавался новый. А то получается что апач пытается выполнить уже неактуальные процессы.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-27 12:46:05

bopoh_inc писал(а):Установил MaxRequestsPerChild 0
к сожалению результат тот же. Снова создается куча процессов httpd и загруженности процессора.
Может есть возможность сделать так что бы при посылке нового запроса старый процесс удалялся, и только потом создавался новый. А то получается что апач пытается выполнить уже неактуальные процессы.
Теперь ставь nginx на фронтэнд, апачу на бэкенд на 127.0.0.1, максимум процессов апача поставь штук 20
И никто не сможет сожрать столько памяти :D
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-27 12:51:53

я с этим не очень знаком. ngnix на фронтэнд установить умею а как быть с апач на бек 127,0,0,1 и установкой максимальным количеством процессов 20? Подскажите пожалуйста

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-27 13:03:01

bopoh_inc писал(а):я с этим не очень знаком. ngnix на фронтэнд установить умею а как быть с апач на бек 127,0,0,1 и установкой максимальным количеством процессов 20? Подскажите пожалуйста

Код: Выделить всё

Listen 127.0.0.1:8000

<IfModule mpm_prefork_module>
MaxKeepAliveRequests 100
KeepAliveTimeout 5
ServerLimit 20
StartServers 20
MinSpareServers 20
MaxSpareServers 20
MaxClients 200
MaxRequestsPerChild 0
</IfModule>
Ну попробуй так чтоль, вобще надо конкретно на практике проверять и значения менять.

Код: Выделить всё

nginx на 127.0.0.1:8000 proxy_pass
Последний раз редактировалось Alex Keda 2008-05-27 14:18:28, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-27 13:33:03

что-то не получается.. сайты перестали отвечать с ошибкой nginx 502 wrong gateway
Буду вечером разбираться, видать какой то момент я не учел

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-27 13:42:08

bopoh_inc писал(а):что-то не получается.. сайты перестали отвечать с ошибкой nginx 502 wrong gateway
Буду вечером разбираться, видать какой то момент я не учел
nginx куда смотрит?

sockstat | grep httpd
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-28 0:39:57

to LMik
установил я nginx. Вроде работает... по крайней мере не наблюдается картины как впервый раз. оказываеться apach упал после установки nginx.
Но самое интересное что апач снова упал минут через 10. вообще непонятно что происходит. В логах всё как обычно. Как только нормально установлю nginx я отпишусь здесь. И если у тебя будет время то помоги доковырять эту тему пожалуйста.

Кстати по ходу вопрос. Что произойдет если ограничить количество процессов апач до 20 например. Если реальная посещаемость будет больше то апач не сможет обслуживать все запросы или количество процессов означает для одного пользователя?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение Alex Keda » 2008-05-28 0:46:12

получат таймаут
Убей их всех! Бог потом рассортирует...

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-28 1:07:25

хм... тогда это не будет выходом из данной ситуации.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-28 6:36:21

bopoh_inc писал(а):хм... тогда это не будет выходом из данной ситуации.
Сначала добейся чтобы хотябы таймаут получили :) а выход уже не далеко будет.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-28 23:48:04

буду пробовать но пока что никак не могу устранить "грабли" с nginx. После его установки всё время падает апач.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-29 6:10:58

bopoh_inc писал(а):буду пробовать но пока что никак не могу устранить "грабли" с nginx. После его установки всё время падает апач.
Они не на одинаковых портах?
корку апача найди и дебагер её
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-29 11:37:33

Да нет не на одинаковых. После установки nginx он работает на порту 80, а конф апача автоматически исправляется на 8080

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Apache некорректная работа

Непрочитанное сообщение LMik » 2008-05-29 14:01:44

bopoh_inc писал(а):Да нет не на одинаковых. После установки nginx он работает на порту 80, а конф апача автоматически исправляется на 8080
Что значит автоматически исправляется? что в /var/messages при падении апача?
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

bopoh_inc
рядовой
Сообщения: 13
Зарегистрирован: 2008-05-26 12:37:40

Re: Apache некорректная работа

Непрочитанное сообщение bopoh_inc » 2008-05-30 0:07:08

я имею ввиду вот что:
изначально установлен только апач и в httpd.conf прописано listen 80и в виртуалхостах также прописано xxx.xxx.xxx.xxx:80
а после установки nginx все порты в httpd.conf изменяются на 8080. Тоесть получается listen 8080 и в виртуалхостах также прописано xxx.xxx.xxx.xxx:8080
Вот.