速度
Last updated
Last updated
遅いパフォーマンスは、従業員からの主な不満の1つです。 この問題は、デバイス、ネットワーク、インフラストラクチャ、またはアプリケーション自体が原因である可能性があるため、トラブルシューティングが難しいです。 ソフトウェアアズアサービス (SaaS) アプリケーションの場合、根本的な原因は会社の外部のネットワークまたはインフラストラクチャレベルにある可能性もあります。
平均ページロード時間は、http://w3.org ウェブサイトに定義されたナビゲーションタイミングレベル 2 の onload イベントを使用して測定されます。 詳細については、以下のナビゲーションタイミングAPIセクションをご覧ください。
ナビゲーションイベントは、URL が変更されてブラウザが新しいエントリで履歴を更新したときに、ウェブページにトリガーされる変更です。 ブラウザの履歴は、訪問したアドレスのリストで、ユーザーが以前に訪問したページに戻ることを可能にします。
ダッシュボードは、2種類のナビゲーションの値を標準で報告します。
ハードナビゲーションは、ブラウザが全く新しいページをロードするためのリクエストを送信するときに発生します。
ソフトナビゲーションは、ブラウザが新しいページをロードしない非同期ページロードの速度を測定できるようにします。 これは、単一ページアプリケーション(SPA)で非常に一般的です。 ソフトナビゲーションは、各アプリケーションごとに有効にする必要があります。 詳細は、ウェブアプリケーションの設定ドキュメンテーションをご参照ください。
ドキュメントがロードされると、技術レベルでハードナビゲーションイベントがトリガーされます。 この動作は、ブラウザの開発者ツールのネットワークタブで識別することができます。 ウェブリクエストの1つはドキュメントタイプである必要があります。 ソフトナビゲーションは、ブラウザがドキュメントリクエストタイプをロードしない他のすべてのナビゲーションです。
ページロードダッシュボードの柔軟性、機能、および使いやすさが、ITプロフェッショナルが問題のあるエリアを素早く特定し、特定のアプリケーションページに問題がある可能性のある従業員に集中させます。
しきい値とフィルターを設定することで遅いページロードをトラブルシューティングできます。 しきい値は、各アプリケーション個別に設定することも、デフォルト設定を使用することもできます。 詳細は、しきい値のドキュメントをご参照ください。
遅いページロードをトラブルシューティングするためのさまざまなアプローチがあります。
以下の図に示すように、ページロードウィジェットのフラストレーションインジケーターをクリックして、すべてのデータをフィルタリングできます。 これにより、問題のあるエリアに迅速に集中できます。
フラストレーションフィルターが適用されたら、キーのページセクションで検索を絞り込むことができます。 ページロードの問題を抱える特定の主要ページをクリックすることで、さらにフィルターを適用します。 影響を受けた従業員の数は、右側パネルのさらなる調査パネルの上部に表示されます。
クリック&ドラッグアクションを使用してタイムライン内のピークを選択することで調査を開始できます。 その後、ページロードウィジェットのフラストレーションフィルターを適用して検索を絞り込みます。
ソフトナビゲーションがオンになっている場合、ページロード時間ウィジェットを使用してブラウザ、オペレーティングシステム、位置情報やその他のオプションでデータをフィルタリングできます。 ジオロケーション機能の詳細については、ジオロケーションの設定ドキュメンテーションを参照してください。
その後、さらなる調査パネルを使用して遅いページロードの調査を続けることができます。
診断機能を使用して、パフォーマンスが遅い問題の診断を行うことができます。 右側のメニューにある診断アイコンをクリックしてアプリケーションの遅延トラブルシュートパネルを開きます。
フィルターと組み合わせて接続性機能を使用して、Webアプリケーションの問題をネットワークインタフェースやVPNの状態と関連付けることができます。 さらなる調査パネルの接続性をクリックすると、新しい調査ダッシュボードが開き、必要なNQLステートメントとともに結果のテーブルが自動的に生成されます。
従業員の数は、少なくとも1回のページロードアクションを実行した従業員を表しています。 これは、上の平均ページロード時間ウィジェットとの視覚的相関をユーザーが簡単に描けるように、自身のタイムラインにマップされています。 この数は、集中時間に基づいているアダプションダッシュボードのものと異なる場合があります。 ブラウザのタブに集中することができても、ナビゲーションイベントをトリガーするアクションを実行しないことがあります。 例えば、テキストを読むまたはスクロールすることは通常、ナビゲーションをトリガーしません。
タイムラインでは、以下のカテゴリに従ってデータが分割されています。
バックエンドは、バックエンドの推定応答時間です。 その正確さは、アプリケーションのパフォーマンスに依存します。
ネットワークとは、潜在的なリダイレクト、DNS ルックアップ、TCP 接続、応答時間にかかる時間に対応するネットワーク応答時間値を指します。
クライアントは、クライアント応答時間値を指し、バックエンドとネットワークの時間の総和を引いて算出されます:クライアント時間 = 総ページロード時間 - (バックエンド時間 + ネットワーク時間)。
さらなる調査パネルを使用して遅いページロードの調査を続けることで、データの内訳が保持されバックエンド、ネットワーク、クライアントに応じてカテゴライズされます。
ページロード時間がどのように測定および計算されるかを完全に理解するために、ナビゲーションタイミングAPIをイベントと属性の観点から分析してみましょう。これは古いページがアンロードされ新しいページがロードされる瞬間から始まります。 このプロセスに関与するイベントと属性については、以下の図と定義をご覧ください。
バックエンド時間は、クライアントがリクエストを送信し始めたrequestStart
からクライアントが応答を受信し始めたresponseStart
までの時間です。
ネットワーク時間は次の時間の合計です。
redirectStart
とredirectEnd
domainLookupStart
とconnectEnd
responseStart
とresponseEnd
クライアント時間はunloadEventEnd
とloadEventEnd
の間の時間で、バックエンドとネットワークの時間を差し引いたものです。
上記のタイミング要素の総和が必ずしも総ページロード時間と等しくないのは、OSタスクなどの他の要因がページのロード時間に影響を与える可能性があるためです。
ソフトナビゲーションは、以下の順序で行われる一連の異なるイベントから構成されます (一部はオプション):
ユーザーの操作および/またはハードナビゲーションによってトリガーされるソフトナビゲーション
ページのレンダリングの変更
バックエンドからの新しいリソースリクエスト
バックエンドが応答するまでの待ち時間
バックエンドからのリソースの受信
新しいリソースに基づくクライアント側の処理
上記の情報をタイムラインに適用し、以下の通りバックエンド、ネットワーク、クライアントに分けます。
クライアント時間は 1. & 2. & 6. の合計で定義されます
ネットワーク時間は 3. & 5. の合計です
バックエンド時間は 4. です
トランザクションは、ウェブアプリケーション内の状態の重要な変化を追跡し、ページの完完全なリロードを必ずしも必要とせずにページロードの監視を補足します。
平均トランザクション期間の時間経過による進化は現在のトレンドを素早く識別し、それが逆転するか安定しているかどうかを見極めるのに役立ちます。
調査サイドパネルを使用して不完全なトランザクションを調査することができます。 トランザクションの可能なステータスは、なぜ不完全かを理解するのに役立ち、NQLデータモデルにリストされています。
トランザクションの期間は、トランザクションの終了が検出されたときとトランザクションの開始が検出されたときの時間の差に相当します。 ダッシュボードで期間を計算する際には、完了したトランザクションのみが考慮されます。
従業員の数は、指定された期間内に少なくとも1回のトランザクションを行った従業員の数を表しています。完了 または 不完全。
ブラウザ、オペレーティングシステム、位置情報、その他のオプションでトランザクションの期間をフィルタリングします。 ジオロケーション機能の詳細については、ジオロケーションの設定ドキュメンテーションを参照してください。
関連タスク