Web サイトの遅延問題のトラブルシューティング
あなたはeコマースビジネスで働いており、組織のWebサイトのパフォーマンスに責任を負っています。経営陣が遅延に気づき、読み込み時間が長いことがカートの放棄率を通常よりも高くなる原因と考えているため、Web サイトの読み込み時間を調査するよう依頼されました。
あなたの組織は、以前の従来のモノリシックシステムから、クラウドベースのマイクロサービス環境に移行しています。どのマイクロサービスでも読み込みが遅くなる可能性があり、現在は Azure と GCP でデータセンター、パブリッククラウド、サーバーレス機能を組み合わせて使用しているため、このような依存関係の網が問題を特定するのは非常に複雑になっています。
事前チェックとして、次の項目を検索しました 読み込みが遅い Web ページを特定する これにより、ある程度の速度低下が発生していることが確認されました。今は、すべてのプラットフォームとマイクロサービスを対象としてより広範囲に調査し、ロード時間がカスタマーエクスペリエンス全体に影響を及ぼす原因を突き止める必要があります。
この場合、チェックアウトエクスペリエンスに影響するので読み込み時間が気になるため、このユースケースではこの点に焦点を当てます。ただし、他のシナリオでの読み込み時間を調査する必要がある場合や、チェックアウトが複数の API 呼び出しにわたって行われる場合は、このユースケースを実現するためのカスタムインストルメンテーションが必要になります。
このユースケースでの Splunk ソフトウェアの使い方
Splunk Real User Monitoring JavaScriptの小さなセクションをWebページまたは一連のページの先頭に追加して、パフォーマンス、エラー、カスタムイベントやワークフローに関する情報を収集します。JavaScript をインストールしたら、次の場所に移動できます。 Splunk Real User Monitoring エンドユーザーエクスペリエンスと Web アプリのパフォーマンスを測定します。
ザ・ Splunk Real User Monitoring ホームページには、ページの読み込み時間、イベント指標、エラーなど、さまざまな指標が分類されています。異常なレイテンシーが発生している領域は赤で強調表示され、それぞれの領域にカーソルを合わせると、指標の経時的な変化を示すグラフが表示されます。
この例では、画面左上の情報の最初の領域で読み込み時間が長く、チェックアウトページはこのリストに含まれており、ページの読み込み時間は15秒です。は
PlaceOrder
オペレーション(インストゥルメントしたカスタムイベント)には 6 秒の遅延があります。また、調査したいフロントエンドのエラーやその他の問題のあるメトリックスも多数表示されます。
をクリックして
PlaceOrder
操作を見ると、このイベントには多くの相関関係があることがわかります。つまり、どのようなユーザーに高いレイテンシーが発生しているのかということです。たとえば、これらのユーザーがすべて特定のブラウザ、デバイス、地域、またはオペレーティングシステムを使用しているかどうかを知りたい場合は、この領域でこれらの相関関係の内訳を確認できます。
ページの上部に表示されるチャート領域で、イベントが急増していることがわかります。このピークをクリックして選択するには、をクリックします。 Example Sessions 一部のセッションを表示するには、セッションの詳細をクリックすると、これらのイベントのウォーターフォールビューが表示されます。これらの手順により、ブラウザからバックエンドに至るまで、発生しているすべてのイベントをエンドツーエンドで把握できます。静的リソースのドキュメントロードやリソースフェッチなどのイベントのほか、コンソールエラー、フェッチリクエスト、インストルメントしたカスタムイベントなどのイベントも確認できます。
この例では、次のことがはっきりとわかります。
PlaceOrder
イベントにレイテンシーが発生しており、その大部分が /cart/checkout イベントです。これで、/cart/checkout のフェッチリクエストに問題があるため、チェックアウトの実行が遅くなっていることがすぐにわかります。
また、これらのイベントのほとんどはAPMハイパーリンクでタグ付けされており、直接次の場所に移動できることがわかります。 Splunk Application Performance Monitoring もっと見るにはブラウザーの観点から見ると、どのようなイベントでもバックエンドで何らかのアクティビティが発生します。なぜなら Splunk Real User Monitoring フロントエンドだけでなくバックエンドからもすべてのデータをキャプチャできるため、すべてのトランザクションをエンドツーエンドで完全に結び付けることができるため、生成されたフロントエンドアクティビティに対応するバックエンドトレースを確認できます。
APM リンクをクリックすると、サービスマップに移動します。それが分かります。
paymentservice
ある程度の遅延が発生しています。
APM を使用すると、トレース ID をクリックして、生成された正確なバックエンドトレースを表示することもできます。この例では、次のようになります。
paymentservice
サードパーティの API、buttercup.payments.api を呼び出していて、2 回呼び出した後にタイムアウトになります。スパンをクリックすると、401 エラーコードがここに一覧表示されます。これが問題の原因と考えられます。
次のステップ
このガイドの内容は、 .conf21 セッション は、ユーザーの成功に役立つ数千種類の Splunk リソースの 1 つです。さらに、次の Splunk リソースは、このユースケースの理解と実装に役立つ場合があります。
- Splunk Docs: Introduction to Splunk RUM
- Blog: Introducing Splunk Real User Monitoring (RUM)
- Use Case: Identifying slowly loading web pages