@MarkLb

Как узнать какие SQL-запросы сейчас происходят на сервере, либо статистику обращений по URL?

Периодически возникает ситуация - начинается огромный объём операций с диском на запись. Это нагружает CPU под 100% Видел, что большую нагрузку создаёт процесс mysql.
Такой кейс возникает спонтанно. Похоже, что ПО даёт сбой и "флудит" сервер по API каким-то запросом, от чего сервер ложится.

Хочу мониторить, какие SQL-запросы происходят из консоли. Это возможно? Логирование в файл, боюсь, положит сервер.
Либо такой же мониторинг по HTTP-запросам, чтобы видеть куда чаще обращения идут.

О самом сервисе: служит как посредник - на него поступают задачи, за ними обращается ПО исполнителей по API.
Язык программирования: PHP. Фреймворк: Yii2.

Пример статистики:
Ytb3fVD.png

P.S. Вообще цель - узнать в каком месте именно возникает пиковая нагрузка, чтобы понимать как это править. Если дадите другой совет по определению этого - буду благодарен.
  • Вопрос задан
  • 969 просмотров
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Либо такой же мониторинг по HTTP-запросам, чтобы видеть куда чаще обращения идут.
Ээээ... access.log, не?

как вариант, но в идеале мониторить какие сейчас запросы происходят в консоли.
Precona, но там надо курить маны, но можно настроить на мониторинг топ загружающих запросов и все вот это, со статистикой, графиками етц...
Ответ написан
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Для просмотра текущей нагрузки можно воспользоваться утилитой mytop
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Чтобы узнать чем загружено прямо сейчас в консоли mysql пишите
SHOW PROCESSLIST;
или
SHOW FULL PROCESSLIST;

Чтобы посмотреть лог тяжелых запросов подключите slow query log (по умолчанию его отключают на проде, т.к. он тоже создает некоторую нагрузку).
Этот лог можно не только глазами читать, но и скормить в анализатор, коих множество. Есть даже онлайн анализаторы вполне приличные.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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