この記事では 4 つの mysql 最適化ツールを推奨します。これらを使用すると、mysql の物理的な検査を実施し、awr レポートを生成して、データベースの全体的なパフォーマンスを把握できます。
ビデオ推奨: MySQL ビデオ チュートリアル
mysql の実行パフォーマンスはどのくらいですか?パラメータは適切に設定されていますか?アカウント設定にセキュリティリスクがあるかどうかは明らかですか?
ことわざにあるように、仕事をうまくやりたいなら、まずツールを磨く必要があります。MYSQL データベースの定期的な物理検査は、データベースの安全な操作を保証する重要な手段です。
今日は、いくつかの mysql 最適化ツールを共有したいと思います。これらを使用すると、mysql の物理的な検査を実施し、awr レポートを生成して、データベースの全体的なパフォーマンスを把握できます。
これは、mysql の一般的に使用されるデータベース パフォーマンス診断ツールであり、主に次の合理性をチェックします。パラメータ設定: ログ ファイル、ストレージ エンジン、セキュリティに関する推奨事項、およびパフォーマンス分析が含まれます。潜在的な問題に基づいて改善の提案を提供するため、mysql の最適化に役立ちます。
以前のバージョンでは、MySQLTuner は MySQL/MariaDB/Percona Server の約 300 のメトリクスをサポートしていました。
プロジェクトアドレス: https://github.com/major/MySQ...
1.1 ダウンロード
[root@localhost ~]#wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
1.2 使用
[root@localhost ~]# ./mysqltuner.pl --socket /var/lib/mysql/mysql.sock >> MySQLTuner 1.7.4 - Major Hayden <major> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering\[--\] Skipped version check for MySQLTuner scriptPlease enter your MySQL administrative login: rootPlease enter your MySQL administrative password: \[OK\] Currently running supported MySQL version 5.7.23\[OK\] Operating on 64-bit architecture</major>
1.3. レポート分析
1) 重要な注意事項 [!!] (角括弧内に感嘆符が付いている項目) など [!!] 最大可能性メモリ使用量: 4.8G (インストールされている RAM の 244.13%) は、メモリが大幅に超過していることを示しています。
#2) 最後の提案「推奨事項」に注目してください。
これは、mysql の別の最適化ツールであり、最適化を実行するために使用されます。 mysql 全体: 潜在的な問題に対する物理的な検査と最適化の提案。
プロジェクトアドレス: https://github.com/BMDan/tuni...
現在、検出と最適化の提案をサポートするコンテンツは次のとおりです:
2.1 ダウンロード
[root@localhost ~]#wget https://launchpad.net/mysql-tuning-primer/trunk/1.6-r1/+download/tuning-primer.sh
2.2 使用
[root@localhost ~]# [root@localhost dba]# ./tuning-primer.sh -- MYSQL PERFORMANCE TUNING PRIMER -- - By: Matthew Montgomery -
2.3 レポート分析
赤いアラートのあるオプションに注目し、提案と実際のシステムの状況に従って変更します。例:
pt-variable-advisor は、MySQL 変数を分析し、考えられる問題について推奨事項を作成できます。
#3.1 インストール#https://www.percona.com/downl...
[root@localhost ~]#wget https://www.percona.com/downloads/percona-toolkit/3.0.13/binary/redhat/7/x86\_64/percona-toolkit-3.0.13-re85ce15-el7-x86\_64-bundle.tar\[root@localhost ~\]#yum install percona-toolkit-3.0.13-1.el7.x86_64.rpm
#3.2 使用
pt-variable-advisor は pt ツール セットのサブツールで、主にパラメーター設定が適切かどうかを診断するために使用されます。
[root@localhost ~]# pt-variable-advisor localhost --socket /var/lib/mysql/mysql.sock
3.3 レポート分析
WARN 情報を含むエントリに注目します。例:
# # 4. pt-query-digest
詳細については、セクション3.1
4.2使用方法pt-を参照してください。 query-digest Main mysql の遅いログを分析するために使用されます。mysqldumpshow ツールと比較して、py-query_digest ツールの分析結果はより具体的で完全です。 [root@localhost ~]# pt-query-digest /var/lib/mysql/slowtest-slow.log
1) 遅いクエリ ファイルを直接分析する: pt-query-digest /var/lib/mysql/slowtest-slow.log > slow_report.log
pt-query-digest --since=12h /var/lib/mysql/slowtest-slow.log > slow_report2.log
3) 指定された時間範囲内のクエリを分析します:
pt-query-digest /var/lib/mysql/slowtest-slow.log --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log
4) select ステートメントを含む遅いクエリを分析します
pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' /var/lib/mysql/slowtest-slow.log> slow_report4.log
5) 特定のユーザーの遅いクエリ
pt-query-digest --filter '($event->{user} || "") =~ m/^root/i' /var/lib/mysql/slowtest-slow.log> slow_report5.log
6) フルテーブルスキャンまたはフル結合のすべての遅いクエリをクエリします
pt-query-digest --filter '(($event->{Full\_scan} || "") eq "yes") ||(($event->{Full\_join} || "") eq "yes")' /var/lib/mysql/slowtest-slow.log> slow_report6.log
パート 1: 全体的な統計結果全体: クエリは合計で何個ありますか? 時間範囲: クエリ実行の時間範囲 unique: 一意のクエリの数、つまりクエリ条件をパラメータ化した後、異なるクエリは合計で何個ありますか? total: 合計 min:最小 最大: 最大 平均: 平均 95%: すべての値を小さいものから大きいものまで並べます。95 パーセンタイルに位置する数値。この数値は一般に最も参照値が高くなります。 中央値: 中央値、すべての値を小さいものから大きいものまで並べます。中央の数字
パート 2: クエリ グループの統計結果
Rank: すべてのステートメントのランキング。デフォルトではクエリ時間で降順に並べ替えられます。--order-by: ステートメントの ID でクエリ ID を指定します。(余分なスペースとテキスト文字を削除し、ハッシュ値を計算します) 応答: total応答時間 time : この分析におけるこのクエリの合計時間の割合 呼び出し: 実行数、つまり、この分析におけるこのタイプのクエリ ステートメントの総数 R/Call: 各実行の平均応答時間 V/M : 応答時間の分散対平均比 項目: クエリオブジェクト
パート 3: 各クエリの詳細な統計結果
ID: クエリ ID 番号。上図のクエリ ID に対応します。 データベース: データベース名 Users: 各ユーザーの実行数 (割合) Query_time distribution: クエリ時間の分布、長さは間隔の割合を反映します。テーブル: クエリに含まれるテーブル Explain: SQL ステートメント。
人生は素晴らしい、また明日~
プログラミング関連の知識については、プログラミング入門をご覧ください。 !
以上が推奨される 4 つの便利な MySQL チューニング ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。