パフォーマンスの改善には、クエリ処理に時間がかかっている理由を知ることが重要となる。MySQLでは、クエリ分析のツールとして「クエリアナライザ」が用意されている。これはクエリ統計情報を集計し、実行に要した時間やネットワーク転送量、行数などの情報をクエリごとに分析できるツールだ。
クエリアナライザを活用することで、集計した統計情報からボトルネックとなっているクエリを容易に見付け出すことができる。パフォーマンスチューニングにおいても、またトラブルシューティングの際にも役に立つ。
クエリアナライザは、MySQL Enterprise Monitorの最新版で新たに追加された「相関グラフ」を使うことでさらに便利なツールとなる。これは、CPUやメモリなどのリソース使用率、コネクション数などといったシステム状況のグラフと、クエリアナライザを連動させる機能だ。画面のグラフ上でドラッグして時間帯を絞り込むと、クエリアナライザ側では、その時間帯に実行されたクエリのみを絞り込んで集計するようになっている。
「パフォーマンス低下には、I/Oの飽和やメモリ不足、CPUリソース不足など、さまざまな原因が考えられます。システム負荷が高まった時間帯をグラフ上で指定して、直接クエリ分析を行うことで、ボトルネックになっているクエリがすぐ分かり、どこをチューニングするのが効果的かを見極められます。スロークエリログ(指定した時間よりも処理が遅かったクエリのログ)などを基に1つずつ分析するときのように時間を掛けることなく、修正するべきクエリを一目で把握できます」(奥野氏)
一般的に、パフォーマンスチューニングやトラブルシューティングの際には、問題点を特定するまでの調査の段階で特に多くの時間や手間を要するものだ。MySQL Enterprise Monitorの機能を活用することでパフォーマンス改善作業を効率化することができ、より短期間で効果的なチューニングを実施できるようになる。
クエリ処理にもコスト削減:MySQLの達人が語る、パフォーマンスチューニングの勘所 - ITmedia エンタープライズ
スロークエリやSHOW FULL PROCESSLIST;で解析するのは結構時間掛かるんですよね。。
MySQL Enterprise Monitorのクエリアナライザ、興味有り。


