Scenarios

ゲームの起動をトラブルシュートする

10 minutes

Splunk Observability Cloud を使って、ゲームの起動が遅かった原因を特定しましょう。

Splunk Observability Cloud でアプリケーションを表示する

注意: アプリケーションが初めてデプロイされたとき、データが表示されるまで数分かかる場合があります。

APM -> Overview に移動し、Environment ドロップダウンを使って自分の環境(例: profiling-workshop-name)を選択します。

すべてが正しくデプロイされていれば、サービスのリストに doorgame が表示されているはずです。

APM Overview

右側の Service Map をクリックしてサービスマップを表示します。サービスマップ上に doorgame アプリケーションが表示されているはずです。

Service Map

時間の大半が MySQL データベースで費やされていることに注目してください。右側の Database Query Performance をクリックすると、より詳細な情報を取得できます。

Database Query Performance

このビューでは、最も時間がかかった SQL クエリが表示されます。Compare to ドロップダウンが None に設定されていることを確認します。これにより、現在のパフォーマンスにフォーカスできます。

特に1つのクエリに長い時間がかかっていることがわかります。

text
select * from doorgamedb.users, doorgamedb.organizations

(このクエリに何か特異な点はないでしょうか?)

レイテンシーグラフのスパイクの1つをクリックして、さらにトラブルシュートしてみましょう。これにより、この遅いクエリを含むトレースの例のリストが表示されます。

Traces with Slow Query

トレースの1つをクリックすると、詳細を確認できます。

Trace with Slow Query

トレース内では、DoorGame.startNew オペレーションに 25.8 秒かかり、そのうち 17.6 秒が先ほど見つけた遅い SQL クエリに関連していることがわかります。

ここまでで実施したこと

ここまでの内容をまとめます。

さらにトラブルシュートするには、JVM 内部で何が起きているかについてのより深い診断データを、メモリ(JVM ヒープ)と CPU の両面から取得することが役立ちます。次のセクションでそれに取り組みます。

Last Modified ·