Dans la base de données MySQL, chaque requête SQL consomme un certain temps et des ressources. Afin de découvrir et de localiser les goulots d'étranglement des performances, des instructions SQL qui ont un temps d'exécution plus long doivent être trouvées. La fonction de journalisation de requête lente de MySQL peut enregistrer toutes les instructions SQL dont le temps d'exécution dépasse un seuil spécifié.
En analysant les journaux lents, les administrateurs de bases de données et les développeurs peuvent localiser avec précision les instructions de requête lente et leur temps d'exécution, optimisant ainsi les performances de la base de données de manière ciblée.
En modifiant le fichier de configuration de MySQL My.cnf , ajoutez les paramètres suivants pour activer la fonction de journal de requête lente:
Slow_Query_Log = 1 # Activer Slow_Query_Log_file = /var/Log/mysql/mysql-slow.log log_queries_not_using_indexes = 1 # enregistre des instructions SQL qui n'ont pas utilisé d'index
Description du paramètre:
Après avoir modifié le fichier de configuration, exécutez la commande suivante pour redémarrer MySQL pour rendre la configuration prendre effet:
Service MySQL Redémarrer
Après le redémarrage, vous pouvez afficher la connexion lente de la requête en temps réel via la commande suivante:
cd / var / log / mysql / tail -f mysql-slow.log
Ajouter ou modifier les paramètres suivants dans le fichier php.ini pour activer la journalisation lente PHP:
slowlog = /var/log/php/php-slow.log request_slowlog_timeout = 10 # unités sont des secondes, les demandes dépassant cette fois seront enregistrées
Description du paramètre:
Après avoir modifié la configuration, exécutez la commande suivante pour redémarrer le service PHP:
service sudo php-fpm redémarrer
Après les redémarrages du service, vous pouvez utiliser la commande suivante pour afficher le journal lent PHP:
cd / var / log / php / tail -f php-slow.log
L'activation de la fonction de journalisation lente de MySQL et PHP aide à localiser rapidement les goulots d'étranglement des performances dans l'exécution de la base de données et du script, faciliter l'optimisation ciblée et améliorer la vitesse de réponse et la stabilité du système global.