遅いクエリー・ログおよび分析ツール
環境:ubuntu 14.04 mysql5.7
クエリが一定時間を超えて結果を返さない場合、遅いクエリ・ログが記録されます.
遅いクエリー・ログでは、実行効率の遅いsql文が見つかり、データベースの最適化に役立ちます.
スロー・クエリー・ログのデフォルトはオンではなく、常にオンにする必要はありません.サンプリング分析が必要な場合は手動でオンにします.
関連パラメータ
一、起動
-パラメータにmyを書き込みます.cnfファイルで、再起動する必要があります
-スロークエリ構成の変更を再起動しない
二、遅いクエリーログ分析ツール
1.mysqldumpslow
mysqlは分析ツールを持っていて、見るべきでなくて、簡単な統計だけをします
2.mysqlsla
backmysql.com出品の分析ツール
・ダウンロード
公式サイトでダウンロードするか、システムプロンプトでダウンロードします.
・解凍
・perlスクリプトチェックパッケージ依存関係の実行
・コンパイルインストール
使用方法
3.percona-toolkit(未)
依存パッケージ
percona-toolkit
perl-IO-Socket-SSL
perl-Net-libIDN
perl-Net-SSLesy
三、スロークエリーログの削除
遅いクエリー・ログは増加します.したがって,サンプリング分析のような特別な作業を行う場合にのみオンになり,他の場合はオフになり,不要なスロークエリーログは直ちに削除される.
1.スロー・クエリー・ログのクローズ
注釈をつけてcnfプロファイルの遅いクエリーログに関するパラメータ
2.ログファイルの削除
# rm -f/usr/local/mysql/data/hostname-slow.log
クエリが一定時間を超えて結果を返さない場合、遅いクエリ・ログが記録されます.
遅いクエリー・ログでは、実行効率の遅いsql文が見つかり、データベースの最適化に役立ちます.
スロー・クエリー・ログのデフォルトはオンではなく、常にオンにする必要はありません.サンプリング分析が必要な場合は手動でオンにします.
関連パラメータ
slow-querg-log=on/off
--
slow_query_log_file=filename
, /usr/local/mysql/data/hostname-slow.log
long_query_time=2
-- 2
long-queries-not-using-indexes
--
min_examined_row_limit=1000
-- 1000
log-slow-admin-statements
-- OPTIMIZE TABLE,ANAKYZE TABLE ALTER TABLE
log-slow-slave-statements
-- slave
一、起動
-パラメータにmyを書き込みます.cnfファイルで、再起動する必要があります
-スロークエリ構成の変更を再起動しない
SET global.slow_query_log=1
SET global.long_query_time=3 3
> show variables like '%slow%';
二、遅いクエリーログ分析ツール
1.mysqldumpslow
mysqlは分析ツールを持っていて、見るべきでなくて、簡単な統計だけをします
2.mysqlsla
backmysql.com出品の分析ツール
・ダウンロード
公式サイトでダウンロードするか、システムプロンプトでダウンロードします.
# wget http://backmysql.com/scripts/mysqlsla-2.03.tar.gz
・解凍
# tar zxvf mysqlsla-2.03.tar.gz
mysqlsla-2.03/
mysqlsla-2.03/Changes
mysqlsla-2.03/INSTALL
mysqlsla-2.03/README
mysqlsla-2.03/Makefile.PL
mysqlsla-2.03/bin/
mysqlsla-2.03/bin/mysqlsla
mysqlsla-2.03/META.yml
mysqlsla-2.03/lib/
mysqlsla-2.03/lib/mysqlsla.pm
mysqlsla-2.03/MANIFEST
# cd mysqlsla-2.03/ // //
・perlスクリプトチェックパッケージ依存関係の実行
# perl Makefile.PL // //
・コンパイルインストール
# make
# make install
使用方法
# mysqlsla -lt slow nengjian-slow.log
Report for slow logs: nengjian-slow.log
2 queries total, 1 unique
Sorted by 't_sum'
Grand Totals: Time 7 s, Lock 0 s, Rows sent 2, Rows Examined 0
______________________________________________________________________ 001
Count : 2 (100.00%)
Time : 7.001213 s total, 3.500606 s avg, 3.000447 s to 4.000766 s max (100.00%)
Lock Time (s) : 0 total, 0 avg, 0 to 0 max (0.00%)
Rows sent : 1 avg, 1 to 1 max (100.00%)
Rows examined : 0 avg, 0 to 0 max (0.00%)
Database :
Users :
root@localhost : 100.00% (2) of query, 100.00% (2) of all users
Query abstract:
SET timestamp=N; SELECT sleep(N);
Query sample:
SET timestamp=1464159700;
select sleep(3);
3.percona-toolkit(未)
依存パッケージ
percona-toolkit
perl-IO-Socket-SSL
perl-Net-libIDN
perl-Net-SSLesy
三、スロークエリーログの削除
遅いクエリー・ログは増加します.したがって,サンプリング分析のような特別な作業を行う場合にのみオンになり,他の場合はオフになり,不要なスロークエリーログは直ちに削除される.
1.スロー・クエリー・ログのクローズ
注釈をつけてcnfプロファイルの遅いクエリーログに関するパラメータ
2.ログファイルの削除
# rm -f/usr/local/mysql/data/hostname-slow.log