スクリーンショット_2020-01-14_17

Lightning Experienceのパフォーマンス~その1. 確認方法~

こんにちは、furu_showです。
Lightningに切り替えると遅くなるという印象を持つ方も多いと思います。
本日は、Lightningは本当に遅いのかを"極力簡単に確認する方法"として、ページローディングの時間クライアント側の性能を確認する方法をご紹介していきます。
ちょっと長いですがお付き合いください。

0.Lightningのパフォーマンス

ポイントは下記の3つです (詳細は Lightning Experience のパフォーマンスの概要 をご覧ください)。

Lightning Experience がパフォーマンスの観点で Salesforce Classic と異なる理由
多数のカスタム項目やコンポーネントを含む複雑なページは表示に時間がかかります。ブラウザのパフォーマンスが低い場合は、さらに時間がかかります。
・Lightning Experience UI は、ページを表示するために多数の XHR が必要なので、ネットワーク遅延の影響を受けます。
・Lightning Experience UI はクライアントによって徐々に読み込まれるため、ブラウザとデバイスのパフォーマンスの影響を受けます。これらは、Octane スコアを使用して測定できます。

Lightning Experience のパフォーマンスを測定する最適な方法は、ユーザ環境を考慮すること、つまりエンドツーエンドパフォーマンスの測定(EPT = ページ読み込み時間 )です。
ここからはその確認方法をご紹介します。


1.Lightning コンポーネントのデバッグモードを利用

Lightning コンポーネントのデバッグモード とは、Lightning コンポーネントから JavaScript コードを容易にデバッグする方法です。ただし、この設定を有効にするときには、コンポーネントのコードは縮小されず、キャッシュは無効化されるため、全体的なパフォーマンスに影響を及ぼす可能性があることに注意してましょう。デバッグモードではネットワークの帯域幅も同時に表示されます。
画像1


2.Lightning URL に ?eptVisible=1 を追加する

例えば “ https://<example>.lightning.force.com/one/one.app?eptVisible=1 ” のようにURLに直接追加する方法です。(exampleには各インスタンスやマイドメインが表示されます)
EPT 値 (この場合は 1.33s) は Lightning Experience のショートカットメニューのすぐ左に表示されます。画像2


3.Lightning 利用状況アプリケーションを利用する

Lightning 利用状況アプリケーションとはLightningの利用状況や定着状況をトラッキングするためのツールです。表示される「日別の実効ユーザ(DAU)」、「Classicへ切り替えた一日あたりのユーザ数」や「Lightning Experienceで最も利用されたページ」などの情報を把握することで、どこを改善するかを考えるヒントになると思います。

このアプリは、Salesforceのすべてのお客様に無料で提供されており、Lightning Experienceアプリケーションから直接アクセス可能です(アプリケーションランチャー >「タイル:Lightning利用状況アプリケーション」を選択)。

使用できる総計値の例
・Lightning Experience (および Salesforce アプリケーション) の日次および月次の有効ユーザ数
・日次および月次の Salesforce Classic への切り替え数(切り替えの合計数と切り替えた一意のユーザ数)
・最も多く Salesforce Classic に切り替えたプロファイルおよびユーザ
・Lightning Experience (および Salesforce アプリケーション) へのアクセスに使用されたブラウザの種類
・Lightning Experience で最も頻繁に表示されたページ

スクリーンショット 2020-01-06 16.03.05

その他の利用例は 「[JP]201811_Lightning_Performance_Overview (Trailblazer Communityへのログインが必要です)」を参照ください。


4.パフォーマンスを計測するレポートを作成する

カスタムレポートタイプを作成し、ページのパフォーマンス時間とともににすべてのユーザーのリストを取得する方法を紹介します。
離脱率の高いページについては表示までの時間が長いことが想定されるため、定着化の障壁を見つけ出すことに役立つでしょう。

カスタムレポート作成方法
・主オブジェクト – LightningUsageByPageMetrics
・カスタムレポートタイプを作成後、「レポートで選択可能な項目」から項目を追加します。プロファイル、ロール、Eメール、アクティブ、フルネームなどのユーザフィールドを追加します。画像4

サンプルレポート実行例:
このレポートでは、どのページが最もページロード時間が長く、どのタイプのユーザが最も影響を受けているかを示すチャートを作成するために、 Metrics Date、プロファイル、およびページ名でグループ化しています。画像5

参考:
Use Custom Report Types to Analyze Lightning Usage (英語)
[JP]Lightning Experience 利用状況の確認_201904 (Trailblazer Communityへのログインが必要です)
・レポートに使えるオブジェクトは、こちらのSOAP API開発者ガイドを参照
・カスタムレポートタイプ作成に関して:カスタムレポートタイプの設定を参照

5.クライアント性能を分析する

a. オクタン値でブラウザ性能を計測 (https://chromium.github.io/octane/)する

・ Lightning Experience利用時のオクタン値は 15,000以上が必要 (コンソールアプリケーションには20,000以上)で 30,000以上が理想
・ネットワークレイテンシは150ms未満が必須(75ms未満が理想)
・クライアントのアップロード・ダウンロード性能は性能改善の貢献度が高い (ダウンロードは3Mbps以上、8 GB 以上の RAM (Salesforce ブラウザタブに 3 GB 使用可能))
・その他「Lightning Experience のパフォーマンスと速度を向上させる」を参照


b. speedtest.jspでNWレイテンシを確認(https://[instance].salesforce.com/speedtest.jsp)画像6


6.モバイルでネットワークの状態をテストする

意外と知られていないかもしれませんが、Salesforceモバイルアプリケーションでも簡易的にネットワークをテストすることも可能です。
もともとの利用目的は「モバイルアプリケーションの問題のトラブルシュート」ですが、簡単なので参考までに記載しておきます。

モバイルアプリケーション > 設定 > [私のネットワークをテスト] > テストをクリックスクリーンショット 2020-01-07 9.41.32

参照:
Salesforce for Android and iOS での読み込み時間の遅延およびその他のパフォーマンス問題のトラブルシューティング
Salesforce1: Test Current Network Conditions (英語)


いかがでしたでしょうか。
Lightning Experienceのパフォーマンスが遅いかどうかを実際に計測する方法をご紹介してきました。こんなにたくさんあるんですね。
その他、「イベントモニタリング」という有償ソリューションを使って計測することも可能です。ただ、まずは無料でできるところからパフォーマンスを可視化してみてはいかがでしょうか。
今回は「その1.確認方法」でしたので、これらを踏まえた「その2.最適化のベストプラクティス」を書こうと思います。

相談したいときは、Trailblazer Community (「Lightning Experience 日本」グループ) へぜひご投稿ください!

この記事が気に入ったらサポートをしてみませんか?