@olegxxxl

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

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

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

crkIufA3w07yw72cFz9uGjZM7qypV17UCUdcd5mg.png

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

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

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

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

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