Монитор загрузки MySQL

Друзья, такая ситуация — есть отдельный сервер под мускуль, на котором крутится один сайт с относительно небольшой посещаемостью(100k хитов в сутки), сайт сам по себе достаточно крупный, в нем много логики и отдельных сервисов, поэтому присутствуют и медленные запросы, при этом сервер базы спокойно живет несколько недель, пока в один момент не уходит в даун, помогает остановка веб-сервера на несколько минут, чтобы mysql завершил все запросы, после чего тот снова в строю

так вот, мой вопрос — как узнать из-за каких именно запросов(или их совокупности) сервер уходит в даун? подскажите плз средства для этого

просмотр slow query log и show proccesslist особо ничего не дает т.к. медленные запросы есть и от них никуда не деться, но ведь и с ними он прекрасно может работать месяцами
  • Вопрос задан
  • 15122 просмотра
Пригласить эксперта
Ответы на вопрос 9
julos
@julos Автор вопроса
Есть утилита mysqldumpslow которая анализует лог медленных запросов и выводит самые частые медленные запросы, жаль, раньше не знал о ней, надеюсь поможет решить хотя бы часть проблемы.
Ответ написан
@Jurik
Воспользуйтесь утилитой mytop.
Ответ написан
julos
@julos Автор вопроса
щас смотрю top — mysqld жрет 150-200% CPU, смотрю SHOW PROCESSLIST(и mytop) — с обновлением в секундуто проскакивает 5-10 запросов, то пусто, долго никто не висит… при этом база откровенно поттупливает даже на элементарных запросах

в чем может быть дело?
Ответ написан
Из вашего объяснения я понял что база не уходит в даун, а просто собирается большая очередь запросов?
Какого рода запросы? insert/select/update?

Посещаемость сайта имеет не большую роль в нагрузке… Все зависит от структуры базы, ее размеров, действием над данными в ней. Можно повесить mysql и одним запросом на очень долгий период.
Ответ написан
AGvin
@AGvin
www.fromdual.com/tools + Zabbix
А вообще, ранее был такой вопрос (http://habrahabr.ru/qa/10967/ )
Ответ написан
@eresik
Поищите, недавно была статья как сервер падал раз в 4 недели из-за переполнения auto_increment, может ваш случай.
Ответ написан
@lubezniy
Железо (винт или RAID, на котором крутится БД) в порядке?
Ответ написан
julos
@julos Автор вопроса
еще давний вопрос на который все руки не доходят узнать ответ

имеем запрос:
SELECT id FROM something WHERE param1 = 1 param2 = 2 param3 = 3

структура таблицы состоит только из этих 4х полей участвующих в запросе

вопрос — если структура таблицы будет состоять из 100 полей, а не 4х, будет ли выполняться медленнее указанный запрос?
Ответ написан
@shagguboy
если по этим полям есть индекс то разница будет заметна только приборами
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SaveTime Москва
от 160 000 ₽
от 50 000 до 70 000 ₽
Fincofex Москва
от 70 000 до 150 000 ₽
07 апр. 2020, в 23:31
50000 руб./за проект
07 апр. 2020, в 23:07
2000 руб./за проект