Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Неоправданная критическая загрузка cpu
 
Доброй ночи. Пишу о баге, который мучает довольно давно, а 2 дня активно выясняем причины. Описываю ситуацию.

Вчера.

Прихожу домой, логинюсь в консоль на сервере (ASP 9.0), сам логин происходит дико долго, а операции в консоли вообще с тормозами. Ладно, думаю, опять ползователи mySQL замучали. Ан нет. top пишет загрузку проца ниже трети, iowait по нулям, с памятью тоже все выглядит нормально. Далее видим странности.

1. захожу в консоль mysql, там show processlist - вуаля! 104 rows in set, запросы сами по себе нормальные, не подозрителоьные, но вот количество активных, явное отсутствие пользователей в подний час и отсутствие mesqld в топе на верхних позициях смущает.

2. смотрим netstat - а там среди прояего висят 11 активных сокетов с моего инетовского адреса на мой инетовский по 80 порту. По сути ничего подозрительного, но вот кто может у меня коннектить самому себе на 80 порт, да еще по инетт адресу - ума не приложу. Разве что NAT-коннекты, но насколько я помню они в netstat не указываются, поправьте, если ошибаюсь.

итог: прошло само и незаметно после перезапуска mysqld, решил, что оно просто повисло и вызвало такие странные тормоза.

Сегодня:

начало такое же, тормоза без загрузке в топе. но на этот раз в show processlist не висит куча запросов. Убийство mysqld не избавляет от тормозов. Лезем в нетстат, уже с опцией -p, а там тихий ужас. Коннектов на самого себя ужо нет. Но зато внизу, где Active UNIX domain sockets (w/o servers) строчек так 400 наподобии:


unix 3 [ ] DGRAM 79124672 16389/    

(заголовки столбцов Proto RefCnt Flags Type State I-Node PID/Program name Path)

pidы идут почти попорядку, видимо, уже несуществующие, имя приложения, открывшего сокет, как видно, не написано. Убиваю все, что только можно. Кажется, тормоза закончились при убийстве httpd, сокеты тоже странным образом пропали. Явное подозрение на ДОС-атаку. Но искал в логах апача - в последней 1000 строк ничего подозрительного. Может быть, по таким приметам можно определить, что происходит или хотя бы что следует проверить? Если есть мысли, высказывайте. Заранее спасибо за ответ.
 
В /var/log/messages какая-нибудь ругань есть?
 
у меня тоже что то типа такого было ...
пересобрал ядро всталовсе на место. Не думаю что это выход... всетаки имело место
 
Цитата
Бизон пишет:

Кажется, тормоза закончились при убийстве httpd, сокеты тоже странным образом пропали.
Может быть php или cgi скриптами мускуль замучали? Ограничения на ресурсы для апача и скриптов настроены?


$ grep -i rlim /etc/apache2/conf/apache2.conf
RLimitCPU       60 90
RLimitMEM       350000000 400000000
RLimitNPROC     256 256

$ grep -i resource -A5 /etc/apache2/conf/php.ini
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)
 
Подобные проблемы достаточно часто возникают при использовании в скриптах php сетевых функций типа gethostbyname, если отклик на них приходит достаточно долго, а функции могут вызываться многократно.
 
Цитата
nmalykh пишет:
Подобные проблемы достаточно часто возникают при использовании в скриптах php сетевых функций типа gethostbyname, если отклик на них приходит достаточно долго, а функции могут вызываться многократно.
Юзать - то их можно, главное, чтобы днс-сервер был под рукой.

У меня была похожая проблема на десктопном генту.
Очень долго приходилось ждать появления logina на консоли. Поскольку я собирал полудесктоп-полусервер, то поставил еще и Бинд в нагрузку - теперь все летает.
Да убоится юзер админа своего (с) Библия юзера...
Возлюби пользователя своего как самого себя (с) Руководство по эксплуатации пользователей...
 
Похоже на один старый DoS котрый LAND назывался, только мало вероятно, что это именно он, от него все запатчено уже давно.
Пересобери ядро, если не поможет - стучись в саппорт ASPLinux'a
 
Цитата
Death Moroz пишет:
Похоже на один старый DoS котрый LAND назывался, только мало вероятно, что это именно он, от него все запатчено уже давно.

Ну и к чему тогда подобные измышления?
Пока красота спасёт мир, уроды его погубят
Страницы: 1
Читают тему (гостей: 1)