ランサーズ(Lancers)エンジニアブログ > DevOps > 解析まで10分!最強のMySQLチューニングツール「Jet Profiler」

解析まで10分!最強のMySQLチューニングツール「Jet Profiler」

blog_admin|2012年08月24日
DevOps

ランサーズでは、現在、Webエンジニアを募集しています。
詳しくは、募集要項をご覧下さい。

こんにちは、keiです。
今回は、MySQLのチューニングに大活躍な「Jet Profiler」というツールをご紹介します。

【2012/12/13 追記】
JetProfilerバージョン3がリリースされ、日本語対応しました。
この日本語化は、ランサーズ上で依頼されました。
http://www.lancers.jp/work/detail/69629
【追記ここまで】

Jet Profilerとは

Jet Profilerは、MySQL向けのクエリアナライザです。
クエリチューニングは、DBパフォーマンスチューニングの中でも重要な作業の1つですが、
Jet Profilerを使えば、その作業をGUIで直感的に行うことができます。

フリーウェアの形態で提供されており、機能限定版であれば無料で利用することができます。
購入する場合は、$499となります。
詳細情報、ダウンロードは公式ページからどうぞ。
http://www.jetprofiler.com/ja/

Jet Profilerの魅力

その1 導入のしやすさ

通常のWindowマシンに、普通のアプリケーションをインストールする感覚でインストールが可能です。
(追記)
ダウンロードページにはMac版、Linux版もあります。

インストール後は、接続情報を入力すればすぐに使い始めることができます。
インストールから接続までの間は10分とかからないでしょう。
※適宜、サーバ側のFWやユーザ権限(GRANT)の設定が必要です。
(追記)
パスワードなしでの接続はできません。
パスワードを設定するか、Jet Plofiler用にユーザを作成する必要があります。

その2 提供情報の豊富さ

クエリの内容や実行回数、Innodb cacheといった多岐に渡る情報を提供してくれます。
また、これらの情報は、表やグラフでグラフィカルに表示され、
情報の切り替え等の各種操作は、全てマウスで行うことが可能です。

使い方

実行結果を記録する

DBに接続ができたら、まずはクエリ情報の記録を始めます。
左上にある赤丸のアイコンをクリックすると記録が始まります。

しばらくアプリケーションをブラウザ上から操作すると、各種情報が記録・表示されはじめます。
thread_r2
上部右側の折れ線グラフは、接続されている、実行中である、実行に時間がかかっているスレッドをそれぞれ表しています。
下部には、アクセスの多いテーブルが円グラフで示されています。

クエリを解析する

下部にある「Top Queries」タブを選択すると、実行回数の多いクエリが表示されます。
クエリの内容やトータルの実行時間などを表形式で俯瞰することができます。
(追記)
無償版では、一部のクエリは見えないようになっています。。
query_r2

Rating欄にある「explain」と書かれたリンクをクリックすると、Explainの実行結果が表示されます。
explain_r2
最上部にJOIN時のサイズやExplain結果のExtra情報が、良し悪しと共に表示されます。
このクエリは、悪いJOINをしているしインデックスも効いていないのでBADだらけです。(笑)
中段には、所謂Explainの実行結果が記載されています。
一番下には、実際のクエリの内容が表示されます。

表示の切り替え

ただでさえ見やすく表示してくるJet Profilerですが、表示方法を色々と変更できます。

折れ線グラフの任意の箇所をドラッグすると、その時間帯のみズームで表示できます。
zoom_r2

折れ線グラフに表示するデータ項目の追加もできます。
adddata_r2

塗りつぶし表示にすることも可能です。
chagedisplay_r2

おわりに

Jet Profilerで確認できる情報は、スロークエリログやSHOW PROCESSLISTで確認できるものですが、それらを横断的にグラフィカル表示できること、マウス操作で簡単に切り替えられることが大きなメリットだと思います。
また、基本的にはクライアント側で動作するため、サーバが重くなることもないそうです。
コマンドラインでの解析に疲れたDB担当者の方、ぜひ導入をご検討下さい!

ランサーズのフェイスブックページでも色々と情報を発信しております。
よろしければいいね!をお願いします!

↓ツイートやはてブはこちらからどうそ↓