@olegxxxl

Как разгрузить сервер mysql и отдебажить запросы?

Есть сайт написанный на ларавель, база данных вынесена отдельно на сервер другой. Сервер 24 ядра, то
есть не самый слабый сервер и все было нормально, до определенного момента. Примерно
1-2 недели назад, через день, а бывает и каждый день процессы на сервере забиваются чуть ли не на 100%

то есть от 70 до 100% отдельных ядер. Когда стал смотреть что же так грузит через htop, увидел что
огромное кол-во процессов mysqld.

crkIufA3w07yw72cFz9uGjZM7qypV17UCUdcd5mg.png

Вопрос, как можно залогировать каких больше всего запросов летит, что бы понять и в дальнейшем оптимизировать ?
Можно ли сделать это отдельно на сервере с базой или нужно на беке что то изменять ?

Происходит это примерно в одно и тоже время с 18 до 19 вечера, в час пик.
Возможно кто то сталкивался и знает как это исправить.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 2
New_Horizons
@New_Horizons
Бред:
Наверное проще всего, для начала, включить лог запросов на уровне БД.
Ещё вариант: сделать \DB::listen() в ларавеле и анализировать какие запросы уходят.
Ответ написан
@MechanID
Админ хостинг провайдера
Зайдите в консоль mysql и выполните
SHOW FULL PROCESSLIST;

так вы увидете текущие выполняющиеся запросы, дальше уже можно их изучать при помощи EXPLAIN
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы