Database Query Performance を使用して Redis のパフォーマンス問題を調査する
この Splunk APM のシナリオでは、Redis データベースを使用する新しい広告サービスにおいて顧客から報告された遅延のトラブルシューティングを行う方法を説明します。
Buttercup Gamesのサイト信頼性エンジニアのリーダーであるSkylerは、Redisデータベースを使用する新しい広告サービスにおいて顧客から報告された遅延のトラブルシューティングを行わなければなりません。
Skyler が Redis のインフラストラクチャをチェックする
Skyler は、Splunk Infrastructure Monitoring で Redis インフラストラクチャをチェックすることから始めます。コマンドの処理速度が大幅に低下し、サーバーが処理したコマンドの総数が減少していることに気が付きました。
これは、1 つ以上のコマンドが遅延の問題を引き起こしている可能性があります。これをさらに調査するため、Skyler は画面下部の「関連コンテンツ」タイルを選択し、Splunk APM にジャンプします。
Splunk APM でサービスにジャンプする
Splunk APM のサービスマップが表示されます。Skyler はすぐに Redis データベースを選択し、どのコマンドが最も遅いかを一目で確認します。レイテンシ、リクエスト、およびエラーのチャートは、パフォーマンスの傾向のビューを提供します。
SkylerはDatabase Query Performanceを選択し、問題の根本原因を調べます。
Skyler は Redis コマンドのレイテンシを調査する
サービスマップからDatabase Query Performance を開くと、Skyler は Redis コマンドのリストを合計時間で並べ替えて表示します。コマンドごとに、リクエストとレイテンシ、および Tag Spotlight データを確認できます。
Skyler は、SORT、LREM、SUNION などの多くの要素で動作するコマンドが遅くなる可能性があることを認識しています。問題のある遅延を持つコマンドを特定し、トレース例をロードするレイテンシチャートを選択します。
Skylerはトレース例を選択し、その特定のスパンのレイテンシについて詳細を調査します。
Skyler はスパンと関連コマンドを掘り下げる
[Trace] ビューから、Skyler は Redis のスパンを選択し、どのデータベースステートメントが当該コマンドを構成しているのかを確認します。パフォーマンスサマリーは、データベーススパンがオーバーヘッドの主な原因であることを指摘しています。
このトレースと他のトレースからの情報によって、SkylerはRedisコマンドを最適化するための十分な情報を得ることができ、結果としてパフォーマンスが顕著に向上しました。
さらに詳しく
Database Query Performanceの詳細については、以下のリンクを参照してください:
-
Database Query Performance の概要については、「Database Query Performance の監視」を参照してください。
-
Database Query Performance を有効にするには、「Database Query Performance を有効にする」を参照してください。
-
「関連コンテンツ」の詳細については、「Splunk Observability Cloud の関連コンテンツ」を参照してください。
-
Database Query Performance に関する問題のトラブルシューティングについては、「Database Query Performance のトラブルシューティング」を参照してください。
-
Database Query Performance に関する参考資料は、「Database Query Performance の参考情報」を参照してください。