@tgarl

Как найти причину падения сервера?

Добрый день.
Возможно кто-то может подсказать что делать с такой проблемой не только отсылая к гуглу.
Проблема в следующем: неделю назад началось все с того что память вся резко заканчивалась и виновником вроде как был mysql, хостер сказал увеличивайте память сервера, тут народ сказал ищите запросы тяжелые. В общем найти не получилось, мучались мучались, но вдруг память перестала кушаться, но стал забиваться канал. Тоже тему поднимал - якобы нагрузка идет от БД, но в итоге спустя пару дней все нормализовалось. Тут пару суток новая напасть опять сайты не работают на сервере. Память не забивается полностью примерное использование 8 из 16. atop показывает что каналы свободны, нагрузка на CPU от mysqld 600-900%. запускаю сохранить в файл что за запросы сейчас в очереди, а там всего их 5 с таймингом 0 и половина из них sleep. т.е. фигня какая-та - запросов нет, но сайт лежит и нагрузка mysqld якобы ого-го какая.
Запускаю htop и вижу что значение tasks в районе 400
перезапустил полностью сервер, никакой реакции, все тоже самое, никакого просвета не видно
решил пойти по другому и начал останавливать службы, стопорю первым делом mysqld, вижу что нагрузка вроде как упала, но tasks остались, открываю в браузере сайт ожидая увидеть ошибку подключения к БД, а вместо этого сайт висит, через минуту выдал 504, обновляю страницу 502, а ошибок о подключении к БД нет. Стопорю всякие memcached, httpd и nginx , обновляю страницу в браузере и получаю опять 502 или 504 вместо проверьте подключение.
при этом tasks в районе 100 и CPU почти на нулях

итого со вчерашнего дня (с 16) до 23:55 с периодическими проблесками на минут 10 только работал. Затем с 0:30 и до 5:00 опять отвалился и только с 5 утра начал работать сайт

Написал хостеру о том что вижу, на что получил администрирование вашего сервере лежит на вас хотите чтобы мы разбирались что у вас за проблемы 3000/час

Помогите пожалуйста советами что делать, что пробовать
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 3
@hx510b
"Я знаю, что ничего не знаю"
можно ограничить количество соединений к MySQL, если дело в памяти при нагрузке.
а так надо смотреть и логи, и параметры и т.д. непонятно, что происходит.
Ответ написан
Комментировать
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
1) Запретите доступ к mysql извне!
2) Ограничте доступ к серверу путем настройки количества коннектов от одного IP
3) Установите firewall и запретите коннекты ко всем портам, кроме ssh и http/https
4) Поставьте логи в mysql на длинные запросы
5) Проанализируйте логи приложения, так как запросы к mysql похоже у вас идут изнутри приложения
6) Что вообще за приложение у вас там стоит? Не взомано ли оно?
Ответ написан
Adamos
@Adamos
Бэкап сайтов есть? Мне в начале февраля ломанули сайт на старом Битриксе, только сравнением с чистым бэкапом удалось найти и вычистить раскиданных по всему сайту зловредов. Правда, особенных проблем они не создавали, взлом был обнаружен почти случайно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы