• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

遅いデータベース クエリを診断する

目的

このチュートリアルを終了すると、次のことができるようになります。

  • 遅いデータベース クエリを特定する
  • 遅いデータベース クエリを解決する方法を理解する
  • データベース UI の使用方法を理解する

データベース クエリを最適化する理由

アプリが中断されると、システムと同じくらい複雑な問題のトラブルシューティングを行う間、顧客は待たされることになります。データが報告され、問題の可能性について大まかな考えが浮かびましたが、どこから始めればよいでしょうか?

サイトがデータベースに依存している場合 (そして、おそらくそうです)、クエリの応答時間が期待どおりに機能しているかどうかを確認する必要があります。多くの場合、サイトのパフォーマンスは、データベースが顧客から送信されたクエリをどれだけうまく処理できるかに依存します。New Relic では、当社のデータベース UI を使用して、データベースのパフォーマンスを経時的に追跡できます。これにより、問題が発生した時期を特定できるため、必要なソリューションの種類を把握できます。

このチュートリアルでは、データベース操作で遅いクエリをトラブルシューティングする方法について説明します。

アプリ データの問題を特定する

当社のデータベース UI には、NRQL クエリで作成されたグラフが表示されます。これらのグラフは、インストールしたエージェントによって報告された apm.service.datastore.operation.duration メトリックからのデータを使用します。これらのグラフは、上位のデータベース プロセスの応答時間を、上位の操作、クエリ時間、アプリのスループット別に示しています。

問題を調査するときは、これらのさまざまなエントリ ポイントをそれぞれ使用することをお勧めします。これらのエントリ ポイントは、同じストーリーのさまざまな部分を伝えているからです。UI を使用してパフォーマンスの問題の診断を開始する方法について説明します。

最も遅いクエリのトラブルシューティングを開始するには、APM の既定のデータベース UI から始めます。

データベース操作にかかる時間

Most time consuming[最も時間がかかる] グラフは、データベース操作によるクエリの合計処理時間を示します。

このグラフは、5 つのデータベース操作を表示し、クエリの実行時間を追跡します。このグラフは、最もビジーで、最も頻繁に呼び出されるクエリを一番上に表示します。頻繁に呼び出されないクエリが最もビジーなクエリの傾向にある場合は、クエリに問題があることを示している可能性があり、そのクエリが処理時間を消費する理由を理解するためにさらに範囲を絞る必要があります。

データベース UI には、時間の経過に伴うデータベース操作のグラフが表示されます。

クエリ時間別上位データベース

Top databases by query time[クエリ時間別上位データベース]は、 クエリの実行にかかる時間に基づいて、データベースのパフォーマンスを示します。

この NRQL クエリは、上位のデータベースを表示するグラフを作成し、クエリにかかる時間を平均します。たとえば、平均して、Redis EVAL データベースがクエリを処理するのに約 0.5 秒かかるが、クエリ時間が 2 秒増加した場合、個々のクエリをより深く掘り下げる必要があることがわかります。

データベース UI には、上位データベースのグラフがクエリ時間別に表示されます。

スループット別上位データベース

Top databases by throughput[スループット別上位データベース] チャートは、時間の経過に伴うデータベース スループットを示します。

スループット グラフは、特定の時間範囲でオペレーションが実行するプロセスの数を追跡します。スループット タンクの場合は、特定の操作をより深く掘り下げる必要があります。

データベース UI には、スループット別に上位のデータベースのグラフが表示されます。

データベース クエリを深く掘り下げる

より深く掘り下げるということは、データをたどることを意味します。問題が存在するおおよその領域を特定することは、解決策を見つけることの一部にすぎません。

データベースの平均的なパフォーマンスを確認したら、次のステップは、クエリ時間、トランザクション、およびスタック トレースでデータを追跡することです。

1Prepare to triage your application

2Identify problematic transactions

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.