APMでは、トランザクショントレースが収集されると、データベースページで利用可能な追加のスロークエリデータが存在する場合があります。遅いクエリデータとは何か、それを見つける場所、およびそれを構成する方法を見てみましょう。
また、ヒストグラムとヒートマップを使用して、さまざまなメトリクスの値の分布を視覚化することもできます。低速ページのパフォーマンスを把握するのに役立ちます。方法については、この短いビデオ(4分18秒)をご覧ください。
スロークエリのデータサンプル
トランザクショントレースが報告されると、スロークエリ機能によってトレース内で最も遅いデータベースクエリがサンプリングされ、それらに関するデータがデータベースページに報告されます。スロークエリデータの内容:
- クエリセグメントの期間
- クエリ/説明プラン(認識される場合)
- ホストおよびインスタンスレベルの詳細(エージェントでサポートされる場合)
スロークエリデータを表示する
ヒント
ご利用の全てのアプリケーションおよびサービスに関する大まかな概要を得るには、New Relicエクスプローラーを利用してください。
スロークエリデータを表示するには:
- one.newrelic.com > APM & Servicesの順に移動します。アプリを選択し、MonitorセクションでDatabasesをクリックします。
- データベースのトランザクションを選択します。
- 可能な場合は、ページに記載された利用可能な任意のスロークエリを選択します。
想定していたスロークエリのデータが表示されない場合は、トラブルシューティングのヒントを参照してください。
設定
通常、スロークエリの設定は以下の方法で指定できます。
- エージェントの設定
- サーバーサイドコンフィグレーション (エージェントで利用可能な場合)
エージェント設定には、サーバーサイドコンフィグレーションよりも多くのオプションが提供されています。スロークエリを構成する方法は、独自のセットアップと環境設定によって異なります。詳細については、エージェント固有のドキュメントを参照してください:
低速クエリのメトリックス
低速クエリのリストには、次のメトリックスが含まれています。
メトリック | 説明 |
---|---|
| サンプリングされたステートメントの平均応答時間です。 |
| サンプル内で特定された低速クエリの件数です。 |
さらに詳細を表示するには、個別のスロークエリを選択します:
メトリック | 説明 |
---|---|
| スタックトレースが、表示されたデータの収集を開始した時刻です。 |
| サンプル内のすべての類似クエリステートメントの実行に要する最大時間です。 |
| クエリを呼び出すアクションまたはプロセスです。 |
| 低速と報告されるクエリです。設定によっては、クエリの一部が難読化されることがあります。 |
| コード内でステートメントが呼び出される位置です。 |
MySQLの場合、当社はクエリ解析を提供します。これは、クエリで発生した内容を説明し、スピードアップするために必要なものが何か説明します。その他のデータベースでは、可能であれば説明プランを表示します。
トラブルシューティング:スロークエリデータなし
スロークエリデータが検出されない場合、次のいずれかの理由が考えられます:
- 低速クエリ機能が無効になっている。
- 期間の閾値が非常に高く設定されているため、低速クエリが報告されていない。
- クエリの難読化設定(通常
record_sql
またはそれに類似するもの)がOff
に設定されています。
問題を解決するには、構成オプションを調整してください。