APMでは、現場トレースにデータベース書き込みデータを含めることができます。 Database queriesページを使用して、遅いトランザクションを分析したり、データベース書き込みコレクションの設定を変更したりできます。
データベースクエリの検索
データベース書き込みデータが選択した舞台トレースに関連付けられている場合、 Transaction traceの詳細ページからDatabase queriesページが表示されます。
トランザクショントレースのデータベースデータが表示されるはずなのに表示されない場合は、 Database query settings を変更する必要があるかもしれません。
one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions > (select a transaction trace) > Database queriesに移動します。
データベースクエリの使用
Database queriesページを使用して、遅いトランザクションを分析およびトラブルシューティングできる状況は次のとおりです。
- APM 概要 ページ で、あるトランザクションが異常に遅いことに気がつきました。
- トランザクションのトレース を選択すると、そのトランザクションの詳細が表示されます。
- Database queriesページを選択してトレース内のスローペースを調べ、それをベースとしてトラブルシューティングを行い、アプリのパフォーマンスを改善します。
- データベース書き込みに関連付けられたスタックトレースが存在する場合、データベース書き込みテーブルの行をクリックして、フォーマットされたスタックトレースを表示します。
データベースクエリの設定
データベースクエリの設定は、他の トランザクショントレースの設定を変更するのと同じ方法で変更できます。 例えば、New Relic エージェントの設定や、一部のエージェントでは UI を通じて変更することができます。
一般的なデータベースクエリの設定変更は以下の通りです。
- 難読化されたクエリデータではなく、生のクエリデータを収集する、またはクエリの収集をオフにする
- スタックトレースの閾値の変更
- クエリの説明プラン収集をオンにする
データベースクエリを使用してパフォーマンスを向上
ここでは、アプリのデータベースのパフォーマンスを向上させるためのヒントをご紹介します。
Use database queries | Comments |
---|---|
時刻 |
|
重複したクエリ | 同じ種類の情報を繰り返しクエリするクエリを探します。たとえば、個々のアカウント ID を検索するための複数のクエリです。クエリを |
データベースのオーバーヘッド | クエリの構造を見て、異なるタイプの情報を1つのコールにまとめる機会があるかどうかを確認してください。例えば、アカウントID、名前などをクエリすることができます。例えば、データベースセンターが別の場所にある場合、オーバーヘッドを減らすことができるため、これは便利です。 データベースのリクエストとレスポンスの時間は非常に速いかもしれません。しかし、リクエストをより少ないコールにまとめることで、その時間をさらに短縮することができます。 |
MySQL | アプリのメインAPM Summaryページから、メイン グラフのデータベース時間を他の処理時間と比較します。 他の処理時間と比較してデータベース時間が突然スパイクしたり、データベース時間が長くなったりする場合は、問題があることを示している可能性があります。 |
他の遅いクエリを見つける
Trace details ページは、特定のトランザクションの詳細を調べるのに便利です。アプリケーションの最も遅いクエリをすべて一度に確認するには、 Slow queries feature を使用してください。