LINUX.ORG.RU
ФорумAdmin

httpd-itk iowait

 httpd-itk, , ,


0

1

Апач плодит процессы, и нагружает iowait, %wa в top-е где-то 60-80%, iotop показывает 15-40 процессов апача, каждый из которых «пользует» диск на 60-99%. Соответственно, все тупит и лежит. Иногда это происходит, когда диск нагружают «тяжелые» дисковые операции, например, ротейт, бекапы, пересчет квоты, но иногда эти же операции апач не валят, т.е. без видимых причин. Четкой зависимости обнаружить не удалось.

Что делали: Вынесли пользовательские данные на отдельный винчестер, отключили журнал. Вынесли mysql базы на отдельный ssd. Уменьшили ionice для ротейта, бекапов. Обновили httpd-itk с 2.2.23 на 2.2.24. В целом принятые меры немного помогли, все работает ровно, но только до начала работы процесса с большой дисковой нагрузкой (см. выше). Так же стоит сказать, что диск с пользовательскими данными - обычный десктопный винчестер на 7200 оборотов и с кэшем 16 МБ.

Система centos 6.4, i5, 12 ГБ ОЗУ. httpd-itk установлен из CentALT Перед апачем стоит nginx. На сервере около 1200 сайтов, в основном простые и с небольшой посещаемостью (а то и вовсе без посещаемости). Средний LA в обычные вечера (т.е. когда нет описанного выше скачка нагрузки) - около 2-2.5, средний %wa - 1-10%.

<IfModule itk.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 78 MaxClients 78 MaxRequestsPerChild 1000 </IfModule>

Чуть раньше MaxClients и ServerLimit был 256 и в моменты наступления проблемы LA возростал до 150(!), после расчета и выставления 78 ЛА стал доходить до 35, тупить 5-10 минут и возвращаться в нормальное состояние.

По форумам таких тем масса, но четкого и однозначного решения нет.

В чем проблема, в каком направлении копать? С апачем, который валится при малейшей нагрузке или же с дисковой подсистемой?


Перед апачем стоит nginx

просто проксирует, или отдает статику?

в моменты проблем смотреть apache server-status. в последний месяц сервера реально потерпают от всяких ботов, которые брутфорсят вордпрес.

Komintern ★★★★★
()
Последнее исправление: Komintern (всего исправлений: 1)

статика надеюсь nginx'ом обслуживается?
itk туповат в этом смысле.

pekmop1024 ★★★★★
()
Ответ на: комментарий от Komintern

просто проксирует, или отдает статику?

И то, и то.

Вот кусок сервер-статуса в период нагрузки. Могу выложить полностью, если это поможет. И да, в нем действительно 22 POST запроса на wp-login.php: http://i.imagebanana.com/img/57n2dufz/1.png

rtka1
() автор топика
Ответ на: комментарий от rtka1

в нем действительно 22 POST запроса на wp-login.php

это везде сейчас так. пока я не придумал эффективного способа борьбы с этой заразой на уровне сервера.

Komintern ★★★★★
()

1. Включить mod status для nginx и apache
2. Поставить munin+плагины mysql, nginx, apache и стандартные
3. Включить slow log mysql
4. Найти сайт который создает нагрузку

Попробовать перейти на fcgi.

poiuty
()

EXT4 дисковая система? - Переведите в relatime

Смотрите сколько апачи используют оперативки через htop или top. В соответствие с кол-вом RAM настройте апач.

Фри ram + buffers + cached можно посмотреть через free -m

poiuty
()

Если апачей будет слишком много и у вас не хватит RAM. Далее все это дело начнет свопаться и начнет дергать уже диск.

poiuty
()
Ответ на: комментарий от pekmop1024

а есть вообще какая-то разница в случае ТС?

впрочем вообще - можно ли на уровне сервера блокировать попытки брутфорса? насколько я успел заметить, даже при неудачном входе wp-login.php возвращает не 403, а 200, что делает парсинг логов почти невозможным.

Komintern ★★★★★
()
Ответ на: комментарий от poiuty

За наводку про ботов спасибо, да, будем отслеживать внимательнее теперь.

Включить mod status для nginx и apache

Включен для апача, скрин выше

Поставить munin+плагины

Есть нагиос.

Включить slow log mysql

Сделаем, проверим.

Найти сайт который создает нагрузку

Если бы сайт был один, он сразу был бы виден. Получается, что распухает апач и все-все сайты в нем участвуют.

Смотрите сколько апачи используют оперативки

Памяти 12 гиг. Мы рассчитали использование пользователями и уже подправили. Памяти хватает.

EXT4 дисковая система? - Переведите в relatime

Да, ext4 с отключенным журналом. Почитаем про relatime, да.

rtka1
() автор топика
Ответ на: комментарий от rtka1

Тогда может быть принудительно заставить пользователей с сайтами на WP поставить плагин keycaptcha на wordpress(все же их сайт создает нагрузку)? Или всем у кого wp - сделать баз авторизацию на wp-login.php и отправить данные от нее на мыло клиентам.

poiuty
()
Ответ на: комментарий от poiuty

так подбор же не идет с одного ip. там целые ботнеты работают. а если сделать лимит на location, то боты будут перманентно использовать весь лимит, и пользователь вообще не сможет залогиниться.

Komintern ★★★★★
()
Ответ на: комментарий от NeOlip

На этот же винчестер. Встроенные костыли ispmanager.

rtka1
() автор топика

Вроде разобрались в чем проблема внезапных раздуваний апача: набегает яндекс и сканирует все-все сайты на шаред IP-адресах. Т.е. яндекс ходит по IP, а не по доменным именам. Что можно поделать с таким?

rtka1
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.