MySQLデータベースでは、各SQLクエリは一定の時間とリソースを消費します。パフォーマンスのボトルネックを発見して見つけるには、実行時間が長いSQLステートメントを見つける必要があります。 MySQLのスロークエリロギング機能は、実行時間が指定されたしきい値を超えるすべてのSQLステートメントを記録できます。
遅いログを分析することにより、データベース管理者と開発者は、スロークエリステートメントとその実行時間を正確に見つけることができ、それによりターゲットを絞った方法でデータベースのパフォーマンスを最適化できます。
MySQLの構成ファイルmy.cnfを編集することにより、次のパラメーターを追加して、スロークエリロギング機能を有効にします。
slow_query_log = 1#enable slow_query_log_file = /var/log/mysql/mysql-slow.log log_queries_not_using_indexes = 1#インデックスを使用していないSQLステートメントを記録する
パラメーター説明:
構成ファイルを変更した後、次のコマンドを実行してMySQLを再起動して構成を有効にします。
サービスmysqlのもう一度始めましょう
再起動後、次のコマンドを介してスロークエリログをリアルタイムで表示できます。
cd/var/log/mysql/ Tail -f mysql -slow.log
PHP.iniファイルに次のパラメーターを追加または変更して、PHPの遅いロギングを有効にします。
slowlog = /var/log/php/php-slow.log request_slowlog_timeout = 10#ユニットは2番で、この時間を追い越しますえるリクエストが記録されます
パラメーター説明:
構成を変更した後、次のコマンドを実行してPHPサービスを再起動します。
sudoサービスphp-fpmもう一度始めましょう
サービスが再起動した後、次のコマンドを使用してPHPスローログを表示できます。
CD/var/log/php/ テール-f php -slow.log
MySQLとPHPの遅いロギング機能をオンにすると、データベースとスクリプトの実行でパフォーマンスボトルネックをすばやく見つけ、ターゲットを絞った最適化を促進し、システム全体の応答速度と安定性を改善します。