Включение медленных запросов MySQL журналы

Материал из Ru Ikoula wiki
Jump to navigation Jump to search

fr:Activer les logs de requêtes lentes MySQL en:Enable slow queries MySQL logs es:Permitir consultas lentas de MySQL logs pt:Permitir consultas lentas os logs do MySQL it:Attivare slow query log di MySQL nl:Langzame vragen MySQL logboeken inschakelen de:Langsame Abfragen MySQL Protokolle aktivieren zh:启用慢速查询 MySQL 日志 ar:تمكين الاستعلامات بطيئة سجلات الخلية ja:低速のクエリ MySQL のログを有効にします。 pl:Po wolnych zapytań MySQL logi ru:Включение медленных запросов MySQL журналы ro:Enable lent întrebare MySQL busteni he:לאפשר שאילתות איטי יומני MySQL
Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.

fr:Activer les logs de requêtes lentes MySQL he:לאפשר שאילתות איטי יומני MySQL ro:Enable lent întrebare MySQL busteni ru:Включение медленных запросов MySQL журналы pl:Po wolnych zapytań MySQL logi ja:低速のクエリ MySQL のログを有効にします。 ar:تمكين الاستعلامات بطيئة سجلات الخلية zh:启用慢速查询 MySQL 日志 de:Langsame Abfragen MySQL Protokolle aktivieren nl:Langzame vragen MySQL logboeken inschakelen it:Attivare slow query log di MySQL pt:Permitir consultas lentas os logs do MySQL es:Permitir consultas lentas de MySQL logs en:Enable slow queries MySQL logs

Введение

Может получать оповещения от мониторинга о медленных mysql запросов (slow queries) : ces erreurs sont produites quand le temps d'exécution d'une requête MySQL dépasse le temps alloué défini par la variable MySQL long_query_time. Ces erreurs pouvant être produites par différents facteurs, nous verrons ici comment activer les logs de ces erreurs afin de les analyser et les corriger.

Место

Veuillez noter qu'activer les logs de slow queries peut ralentir votre Сервер, étant donné que des écritures seront effectuées en même temps que l'exécution des requêtes lentes.

Убедитесь, что журналы не уже активно

Чтобы убедиться, что журналы медленных запросов не включен, подключите в SSH к вашей машине и введите MySQL оболочки :

mysql -u utilisateur -p
[mot de passe]


Однажды в MySQL shell, введите следующую команду, чтобы получить список всех переменных и их значений :

show variables;


Перейдите увидеть переменную в левом столбце "slow_query_log" : на 'Мы ', журналы являются активными. На 'OFF', мы должны превратить их.

Slow-queries-1.png

Включите и настройте журнал медленных запросов

Всегда в MySQL shell, введите следующую команду :

set global slow_query_log = 'ON';


Можно также настроить путь к каталогу, где будет храниться журнал медленных запросов :

set global slow_query_log_file ='/var/log/mysql/slow-query.log';


Наконец установите минимальное время, выделяемое для каждого запроса, чтобы убедиться, что необходимо не ложных срабатываний медленных запросов : 10 секунды — это правильное значение, 20 секунд рекомендуется, если это случается, что ваш Сервер ослабить перед лицом числа запросов и посетителей (Эта переменная имеет значение основных 10 секунд) :

set global long_query_time = '20';


И наконец убедитесь, что изменения были приняты во внимание следующую команду :

show variables like '%slow%';


Анализ журналов

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

# montrera les requêtes en temps réel
tail -f /var/log/mysql/slow-query.log # défini dans notre exemple ci-dessus
# sortie complète du fichier
cat /var/log/mysql/slow-query.log
# naviguer de haut en bas
less /var/log/mysql/slow-query.log


Объяснение явления

Как объяснялось в начале этой формы, медленные запросы являются dedfinie по времени выполнения определенного запроса ; Если запрос занимает больше времени, установленного long_query_time для выполнения, он определяется как медленное querie. Первая причина получения длительно выполняющихся запросов может быть плохой параметр переменной MySQL "long_query_time" ; слишком низкое максимальное время может поставить некоторые тяжелые запросы непосредственно в медленно, в то время как они на самом деле вполне нормально.

Другая причина может быть связана с использованием MySQL внешней службы ; в случае веб-сайта например, плохого программирования, включающих не автоматически закрыть подключения к MySQL может заполнить буфер, делая длительных запросов.

Плохая конфигурация базы данных также может быть причиной явления : объединение таблиц и маркировки (ключ) может генерировать эти ошибки - Например, в случае таблицы без первичного ключа.

Enfin, il ne faut pas exclure l'hypothèse d'une attaque sur votre Сервер, générant de nombreuses requêtes qui finiront par s'entasser et donc dépasser la limite de temps d'exécution définie par long_query_time.

Заключение

Журналы теперь активны и должен позволить вам лучше анализировать медленные действия на вашей базе данных, позволяя вам диагностировать проблемы производительности, программирования или целевых атак. Кроме того, теперь у вас лучше визуальные на действия, выполненные на вашем Сервер база данных.



Эта статья представляется полезным для вас ?

0



Вы не можете оставлять комментарии.