периодически зависает апач, много процессов в статусе "W"

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-26 14:21:08

Devochka писал(а):
А можно список очереди запросов?
в момент, когда всё зависает?
GhOsT_MZ писал(а):

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

SHOW PROCESSLIST;
[root@server ~]# show processlist
-bash: show: command not found
GhOsT_MZ писал(а): Кстати, не мешало бы посмотреть что он там обрабатывает (в смысле скрипты), если раньше такой проблемы не было.
как посмотреть?
там форум phpbb3 и несколько сайтов на вордпресс
Гость писал(а):когда прибиваете апатч, ssh нормально начинает работать? ну может в течении минуты две - уже сервер сам не тормозит? апатч при этом запускать не надо
это надо проверять , т.к. я его обычно перезапускаю сразу а не останавливабю.

Сервер
CPU: Intel Atom 330 1.60GHz
RAM: 2 GB
HDD: 250 GB
для того, что там находится этой конфигурации думаю достаточно
Это SQL-запрос, нужно его выполнить в рабочей БД.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-26 14:48:50

С проблемой или с запросом? Если с проблемой, то что было то?

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-11-26 14:55:05

с запросом. поняла, что он SQL :)
а с проблемой пока нет.
думаю установить nginx для отдачи картинок, что бы разгрузить немного апач. но опять же это не лечение, а борьба с последствиями...

может рассказать после чего по моему мнению это всё началось? может это кого-нить натолкнёт на какие мысли?

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-26 14:56:52

Так можно результат запроса SHOW PROCESSLIST;?
PS: во время лагов нужно выполнить его



Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-11-27 20:19:16

Гость писал(а): когда прибиваете апатч, ssh нормально начинает работать? ну может в течении минуты две - уже сервер сам не тормозит? апатч при этом запускать не надо
ну вот отвернулась на 10 минут и сегодня опять завис((
что успела проверить... в ssh не пускало вообще так что top и ps ax по горячим следам не получилось посмотреть.
зашла с горем пополам в ДА - там в Service Monitor куча процессов апача и мускуля. Остановила апач через ДА и сервер через минуту пришёл в норму, пустило в ssh и т.д.

во время висяка SHOW PROCESSLIST; также не получилось выполнить, т.к. в майадмин не получилось войти , выдавало ошибку подключения.
а чем у вас там занимается перл?
не знаю :pardon:
сегодня было вот так 5740 ? S 5:38 perl

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-27 21:12:05

Ну раз и апачи, и сукль грузят систему, то тут все более очевидно.
Возможно в определенное время посещаемость ресурса повышается и железо банально не справляется с нагрузкой.
Кстати, после чего начались проблемы? Может было повышение посещаемости или сделали какое-то обновление скриптов, что повысило нагрузку на сервер? Или все произошло резко?
Предлагаю проанализировать лаги сервера в разрезе посещаемости, плюс проанализировать посещаемость по времени суток.
После того, как будет выявлено, в какое время суток все падает, можно будет сделать какие-то выводы. Также, нужно зафиксировать когда происходят лаги и изучать access-логи веб-сервера, вдруг банальный DoS.
Если дело имеем не с DoS-атакой, то можно попробовать протюнинговать скуль, но тут не помогу, но статей в нете много (если используется InnoDB, то настройка будет не простой, но информации по этому поводу много, сам однажды сталкивался, потратил прилично времени, но результат порадовал, производительность выросла значительно и сервер переставал виснуть под нагрузкой и выдерживал большие нагрузки, но в моем случае узкое место было - небольшой пул+медленный винт, пул был небольшой и приходилось сливать инфу на винт, а винт не успевал шуршать и выстраивалась очередь запросов и веб-сервер соответвственно не мог во-время выдавать результат, да и нагрузка на винт тоже давала о себе знать, забирая прооцессорное время).

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-11-27 22:15:34

GhOsT_MZ писал(а): Предлагаю проанализировать лаги сервера в разрезе посещаемости, плюс проанализировать посещаемость по времени суток.
по поводу лагов, посещаемости и времени суток... я понаблюдаю конечно, но вот пару раз всё залипало в период между 3 и 7 часами утра, когда посещаемость в принципе нулевая по основным ресурсам (спят все :smile: )
Кстати, после чего начались проблемы? Может было повышение посещаемости или сделали какое-то обновление скриптов, что повысило нагрузку на сервер? Или все произошло резко?
Посещаемость не выросла, обновлений никаких не было. Было вот что: несколько доменов жили на вдс. им стало там мало места и их перенесли на этот сервер. они прекрасно тут поселились рядом со всеми остальными жителями сервера. всё работало, ресурсов хватало. через некоторое время ту вдс, на которой раньше жили эти проекты удалили за неуплату - хостер оповестил об этом по е-мэйл. Всё бы ничего, но в это же время на новом сервере исчезли базы данных проектов, которые были ранее на той вдс :-o . Не знаю как это взаимосвязано, это осталось загадкой, т.к. следов взлома сервера или присутствия кого-то постороннего не нашли. Базы восстановили из бекапов, хоть и старых, и через день сервер впервые завис. В ДА тогда было замечено множество процессов апача и мускуля.

в аттаче парочка результатов PROCESSLIST во время, когда нагрузка на цпу возрастала до 92% . есть ли в них чтото подозрительное или они не информативны?
Кстати парой на запрос PROCESSLIST получаю "Вероятно, размер загружаемого файла слишком велик. Способы обхода данного ограничения описаны в документации" Это чё?

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-27 22:28:47

Можно не при зависании, а перед ним сделать запрос SHOW PROCESSLIST;. Насчет ошибки - странно, может я ошибся запросом, так что лучше в доках по скулю посмотреть.
Насчет исчезновения баз - каким образом исчезли? Просто не получалось подключиться к ним или банально файлы исчезли? Где смотрели посещаемость, особенно между 3 и 7 часами? Ну и еще, в логах скуль чтонить пишет?

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-27 22:42:27

Ах да, еще один момент. Не знаю каким образом "исчезла" БД и что предпринимали, но я бы еще посмотрел на скрипты.
Мои действия:
1) Изучить время изменения скриптов. Хоть и не панацея, но желательно бы сделать
2) Изучить логи доступа. Проанализировать доступ в разрезе IP-адресов и скриптов незадолго до перегрузки и в ее пик.

Что это даст:
1) Реальная ли это нагрузка или искусственная;
2) Получим убогое (в идеале нужна система контроля целостности, которая все это делает не по времени измениния файла, по его хэшу), но тем не менее, хоть какое-то представление о целостности скриптов;
3) Если сервер таки был взломан, возможно найдем какой-то "левый" скрипт, который, возможно, "гадит".
Последний раз редактировалось GhOsT_MZ 2011-11-27 22:43:53, всего редактировалось 1 раз.

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-11-27 22:43:20

SHOW PROCESSLIST; и использую. иногда получаю результат иногда ошибку. Вложение в предыдущее сообщение не вложилось чего-то ((( Прикрепляю к этому.

Из баз исчезли файлы, все под ноль. Через ДА, например, видела название базы,а напротив - 0Кв.
Посещаемость смотрела просто по пользователям онлайн... никого не было. Может боты какие налетают переиодически?))

Логи мускуля ща погляжу
PROCESSLIST.txt
(6.34 КБ) 32 скачивания

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение ProFTP » 2011-11-28 3:49:37

включите лог медленных запросов в конфиге mysql

если проблема в запрос mysql

/etc/my.cnf

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

[mysqld]

log_slow_queries = /usr/local/db/mysql/mysql.log
#slow-query-log = /usr/local/db/mysql/mysql.log

long_query_time = 2

log = /usr/local/db/mysql/mysql2.log
#general_log=/usr/local/db/mysql/mysql2.log

если таблицы большие и нагрузка большая, то в лог файле может быть много записей...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение ProFTP » 2011-11-28 3:53:35

Гость писал(а):а чем у вас там занимается перл?
5740 ? S 0:25 perl
качает порнушку :)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-11-28 7:44:15

Devochka писал(а):SHOW PROCESSLIST; и использую. иногда получаю результат иногда ошибку. Вложение в предыдущее сообщение не вложилось чего-то ((( Прикрепляю к этому.

Из баз исчезли файлы, все под ноль. Через ДА, например, видела название базы,а напротив - 0Кв.
Посещаемость смотрела просто по пользователям онлайн... никого не было. Может боты какие налетают переиодически?))

Логи мускуля ща погляжу
PROCESSLIST.txt
Насчет посещаемости, лучше использовать какой-нибудь счетчик (liveinternet, например), будет вернее.

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение FiL » 2011-11-28 23:32:56

решения данной проблемы не знаю, зато могу поделиться похожей историей.

Стоит почтовый сервер (dual opteron, raid и т.д.). Связка postfix+dovecot. На нем-же крутится апач с roundcube. Всё работает, все клиенты счастливы.
Вдруг сервер начинает притормаживать (не сильно, но все-таки) и LA поднимается с обычных 1.5-2 до 8-10. Смотрю, а у меня 3-4 процесса апача кушают проц почти до упора. Причем все процессы от одного клиента. И клиент ничего плохого не делает. Просто почту читает. Убиваешь этого клиента(или закрываешь браузер у него на компе или отрубаешь апачевские процессы на сервере) и всё опять в ажуре. А откуда проблема и почему только с одним клиентом так и не понял.

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-12-06 21:54:46

ProFTP писал(а):включите лог медленных запросов в конфиге mysql

если проблема в запрос mysql

/etc/my.cnf

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

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

[mysqld]
local-infile=0
max_connections = 500
long_query_time = 10
log_slow_queries = /var/log/mysql/slowquery.log
лог пишется, но я там ничего не понимаю :oops: ... только то каких сайтов базы данных там упоминаются

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-12-06 22:04:07

вот ещё. в майадмине есть такая кнопочка "состояние" . так вот на момент зависания очередного были такие показатели.
аптайм мускуль-сервера 17 часов

далее цифры выделенные красным:
Slow_queries 155 Количество запросов, выполнявшихся более long_query_time секунд.
Innodb_buffer_pool_reads 162 Количество последовательных запросов на чтение, которые InnoDB не смог выполнить из буферного пула и использовал постраничное чтение
Handler_read_rnd 12.5 M Количество запросов, на чтение строки, основанных на ее позиции. Большое значение переменной может быть обусловлено частым выполнением запросов использующих сортировку результата, выполнением большого числа запросов требующих полного сканирования таблиц, наличием объединений не использующих индексы надлежащим образом.
Handler_read_rnd_next 265.0 M Количество запросов на чтение следующей строки из файла данных. Данное значение будет высоким, при частом сканировании таблиц. Обычно это означает, что таблицы не проиндексированы надлежащим образом или запросы не используют преимущества индексов
Slow_launch_threads 28 Количество потоков, на создание которых потребовалось более чем slow_launch_time секунд.
Created_tmp_disk_tables 140.6 k Количество временных таблиц, автоматически созданных сервером на диске, во время выполнения SQL-выражений. Если значение Created_tmp_disk_tables велико, следует увеличить значение переменной tmp_table_size, чтобы временные таблицы располагались в памяти, а не на жестком диске
Select_full_join 519 Количество запросов-объединений, выполненных без использования индексов. Если значение переменной не равно 0, рекомендуется проверить индексы таблиц.
Opened_tables 137.7 k Общее количество открывавшихся таблиц. При большом значении переменной рекомендуется увеличить размер кеша таблиц (table_cache).

где чаво подкрутить и стоит ли?

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-12-07 7:54:43

Тут 2 варианта:
1) Слабое железо;
2) Ненастроенный MySQL.

По первому варианту все и так ясно, насчет второго, нужно пытаться тюнинговать настройки innodb. Тут не подскажу, но в сети масса статей по этому поводу. Так что, статьи + доки = счастье)
Да и не мешаело бы конфиг MySQL показать.
И еще, что-то кажется у вас индексы не расставлены, уж больно много об этом написано... Но лучше для начала конфиг мускуля и рассказать сколько там свободно памяти то на данный момент, есть ли куда "расти"...

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение ProFTP » 2011-12-08 2:51:45

Devochka писал(а):
ProFTP писал(а):включите лог медленных запросов в конфиге mysql

если проблема в запрос mysql

/etc/my.cnf

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

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

[mysqld]
local-infile=0
max_connections = 500
long_query_time = 10
log_slow_queries = /var/log/mysql/slowquery.log
лог пишется, но я там ничего не понимаю :oops: ... только то каких сайтов базы данных там упоминаются
это сервер хостинга или сервер проекта?
если проекта, то пускай разработчики смотрят какие запросы там медленные и что именно тормозит

можно взять другой сервер (или VPS) настроить все там на другой версии и с другими портами (сообствевенно с другой версией apache и т.д.)
при компиляции не включать оптимизация gcc
и посмотреть что будет

надо тестировать....
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-12-27 23:14:29

Доброго всем времени суток.
Проблема по-прежнему актуальна, сервер виснет по несколько раз в день. Приходиться мониторить его постоянно, что бы при необходимости перезапускать апач, мускуль или если совсем намертво виснет, то и сам сервер.
GhOsT_MZ писал(а): Тут 2 варианта:
1) Слабое железо;
2) Ненастроенный MySQL.

По первому варианту все и так ясно, насчет второго, нужно пытаться тюнинговать настройки innodb. Тут не подскажу, но в сети масса статей по этому поводу. Так что, статьи + доки = счастье)
Да и не мешаело бы конфиг MySQL показать.
И еще, что-то кажется у вас индексы не расставлены, уж больно много об этом написано... Но лучше для начала конфиг мускуля и рассказать сколько там свободно памяти то на данный момент, есть ли куда "расти"...
по первому пункту, мне кажется, пока всё ок. Тем более, что первоначально сервер чувствовал себя отлично со всеми этими проектами, нового ничего не появилось.
по второму - у меня все таблицы MyISAM.

max_connections=500
table_cache=500
max_heap_table_size=32M
key_buffer_size=32M
tmp_table_size=96M
остальное по умолчанию

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

Cpu(s): 92.4%us,  7.4%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   2066128k total,  1543924k used,   522204k free,   136476k buffers

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение GhOsT_MZ » 2011-12-28 8:17:48

Ну, судя по тому, что я вижу - с настройками мускуля все нормально, было бы иначе - была другая нагрузка на процессор, а именно - si (системные прерывания, которые указывают на нагрузку диска). Ну это было бы в случае нерационального использования виртуальной памяти.
Если ОС FreeBSD, то какая нагрузка на диск (gstat), где лежат базы (чтобы уже наверняка отсеять вариант с мускулем) и если нагрузка велика, то нужно смотреть кто ее создает, апачи или мускуль?
Да и как-то странно, что апачи резко стал жрать процессорное время... Ну наводит это на мысли неудачного изменения скриптов, ДоСа.

Аватара пользователя
Devochka
рядовой
Сообщения: 23
Зарегистрирован: 2011-11-20 2:15:57

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение Devochka » 2011-12-28 16:36:58

ддоса нет. скрипты кое-где может и корявые. в лог долгих (длинных) запросов пишутся запросы, которые выполняются дольше long_query_time = 10. значение query_time у некоторых запросов более 150 . вот только я не могу понять , что это за запросы и как от них избавиться


Вот конфиг апача

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

Timeout 60
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 1

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 450
MaxClients 450
MaxRequestsPerChild 1000
</IfModule>
у меня Центос

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: периодически зависает апач, много процессов в статусе "W

Непрочитанное сообщение FiL » 2011-12-29 0:54:41

Devochka писал(а):ддоса нет. скрипты кое-где может и корявые. в лог долгих (длинных) запросов пишутся запросы, которые выполняются дольше long_query_time = 10. значение query_time у некоторых запросов более 150 . вот только я не могу понять , что это за запросы и как от них избавиться
Запросы выполнются дольше 150 секунд? Хреново дело. То, что ты не можешь понять что это за запросы - это еще хуже.
Изучай запросы и смотри что можно сделать для их оптимизации.