スロークエリ
ホーム画面 > プロジェクト選択 > ダッシューボード > スロークエリ
データベースが提供するスロークエリログを読み取り、視覚的なチャートで表示します。スロークエリの基準時間をDBパラメータに設定し、スロークエリログにSQLが表示します。
同じSQLであってもマルチインスタンスメニューからSQL Elapse Map指標の場合、アクティブセッションに基づいて計算された時間のため、誤差が生じる場合があります。
使用設定の手順
スロークエリメニューを使用するには、次のようにパラメータと権限を設定する必要があります。
DBXエージェントファイルの設定
slow_query_log=ON
DBパラメータおよび権限設定
slow_query_log = 1
long_query_time = 3 # 例、3秒以上のSQLレコード
log_output=FILE # または TABLE
-
DBサーバーに
log_output=FILE
オプションを設定した場合は、xosインストールが必要です。 詳細については、次の文書を参照してください。 -
AWS RDS を使用して、
log_output=FILE
オプションを設定したユーザーは、xosをインストールする代わりにCloudWatchを使用するための設定が必要です。 詳細については、次の文書を参照してください。 -
他のクラウドを使用しているユーザーの場合、スロークエリメニューを使用するには、
log_output=TABLE
オプションを設定してください。 ただし、スロークエリが頻繫に発生する環境、mysql.slow_log検索時にDBの性能が低下する可能性があるため注意が必要です。 -
log_output=TABLE
オプションを設定する場合は、モニタリングアカウントに参照権限を付与する必要があります。 次のコマンドを実行してください。grant select on mysql.slow_log to whatap;
DBサーバーのXOSエージェントの設定
Slow queryの収集周期を調整するには、以下のように設定してください。
slow_query_interval = 30 # 既定値30秒
モニタリング対象のDBサーバーにXOSエージェントをインストールしないと、slow queryをモニタリングできません。 XOSエージェントインストールの詳細については、次の文書を参照してください。
基本画面ガイド
-
時間 / インスタンス
進行中のセッションの時間を変更したり、個々のインスタンスを選択できます。
-
Slow Query
SlowQueryが発生した時にチャートを表示します。マウスで特定の領域をドラッグするとSlowQueryListで詳細情報を確認できます。
-
Slow Query List
Slow Query チャートでドラッグした領域のSlow Query詳細情報を一覧に表示します。SQL項目を選択すると、クエリ(query)のFull TextおよびPlan情報が確認できます。
クエリの詳細を見る
実行中のセッションのSQLクエリ情報を確認するにはSlow Query ListセクションのSQLカラム項目を選択します。 SQL詳細画面が表示されます。 SQLクエリ文とPlan情報を確認することができます。
- SQL統計の表示: 該当SQLクエリ文に関する統計情報が確認できるSQL統計メニューへ移動できます。
-
Default Bind: クエリ文で変数として設定された部分を既定値としてバインディングできます。
-
Reset Bind:バインディングされた既定値を解除し、変数を確認できます。
-
Formatting: SQLクエリ文にインデントおよびフォーマットを適用して可読性を高めます。
-
Plan: Plan情報を確認するにはDB Name、User Name、Passwordを入力してから、ボタンを選択してください。
-
Text: テキスト形式でプラン情報を確認できます。
-
JSON: JSON形式でプラン情報を照会すると、ボトルネックが発生した箇所がすばやく確認できます。
ノートJSON形式でプラン情報を照会する機能は、DBXエージェント1.6.15バージョン以降から対応しています。
-
JSON形式でプラン情報を照会した状態でtableまたはindex項目を選択すると、テーブルのcolumn、 index構成が確認できるObject detailウィンドウが表示されます。
この機能は、DBXエージェント1.6.15バージョン以降に対応しています。 データベース権限に関する設定は、次の文書を参考にしてください。