![スクリーンショット_2020-01-14_17](https://assets.st-note.com/production/uploads/images/17954236/rectangle_large_type_2_2333113578608c7f2d3f7326050638b9.png?width=1200)
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 コードを容易にデバッグする方法です。ただし、この設定を有効にするときには、コンポーネントのコードは縮小されず、キャッシュは無効化されるため、全体的なパフォーマンスに影響を及ぼす可能性があることに注意してましょう。デバッグモードではネットワークの帯域幅も同時に表示されます。
2.Lightning URL に ?eptVisible=1 を追加する
例えば “ https://<example>.lightning.force.com/one/one.app?eptVisible=1 ” のようにURLに直接追加する方法です。(exampleには各インスタンスやマイドメインが表示されます)
EPT 値 (この場合は 1.33s) は Lightning Experience のショートカットメニューのすぐ左に表示されます。
3.Lightning 利用状況アプリケーションを利用する
Lightning 利用状況アプリケーションとはLightningの利用状況や定着状況をトラッキングするためのツールです。表示される「日別の実効ユーザ(DAU)」、「Classicへ切り替えた一日あたりのユーザ数」や「Lightning Experienceで最も利用されたページ」などの情報を把握することで、どこを改善するかを考えるヒントになると思います。
このアプリは、Salesforceのすべてのお客様に無料で提供されており、Lightning Experienceアプリケーションから直接アクセス可能です(アプリケーションランチャー >「タイル:Lightning利用状況アプリケーション」を選択)。
使用できる総計値の例
・Lightning Experience (および Salesforce アプリケーション) の日次および月次の有効ユーザ数
・日次および月次の Salesforce Classic への切り替え数(切り替えの合計数と切り替えた一意のユーザ数)
・最も多く Salesforce Classic に切り替えたプロファイルおよびユーザ
・Lightning Experience (および Salesforce アプリケーション) へのアクセスに使用されたブラウザの種類
・Lightning Experience で最も頻繁に表示されたページ
その他の利用例は 「[JP]201811_Lightning_Performance_Overview (Trailblazer Communityへのログインが必要です)」を参照ください。
4.パフォーマンスを計測するレポートを作成する
カスタムレポートタイプを作成し、ページのパフォーマンス時間とともににすべてのユーザーのリストを取得する方法を紹介します。
離脱率の高いページについては表示までの時間が長いことが想定されるため、定着化の障壁を見つけ出すことに役立つでしょう。
カスタムレポート作成方法
・主オブジェクト – LightningUsageByPageMetrics
・カスタムレポートタイプを作成後、「レポートで選択可能な項目」から項目を追加します。プロファイル、ロール、Eメール、アクティブ、フルネームなどのユーザフィールドを追加します。
サンプルレポート実行例:
このレポートでは、どのページが最もページロード時間が長く、どのタイプのユーザが最も影響を受けているかを示すチャートを作成するために、 Metrics Date、プロファイル、およびページ名でグループ化しています。
参考:
・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.モバイルでネットワークの状態をテストする
意外と知られていないかもしれませんが、Salesforceモバイルアプリケーションでも簡易的にネットワークをテストすることも可能です。
もともとの利用目的は「モバイルアプリケーションの問題のトラブルシュート」ですが、簡単なので参考までに記載しておきます。
モバイルアプリケーション > 設定 > [私のネットワークをテスト] > テストをクリック
参照:
・Salesforce for Android and iOS での読み込み時間の遅延およびその他のパフォーマンス問題のトラブルシューティング
・Salesforce1: Test Current Network Conditions (英語)
いかがでしたでしょうか。
Lightning Experienceのパフォーマンスが遅いかどうかを実際に計測する方法をご紹介してきました。こんなにたくさんあるんですね。
その他、「イベントモニタリング」という有償ソリューションを使って計測することも可能です。ただ、まずは無料でできるところからパフォーマンスを可視化してみてはいかがでしょうか。
今回は「その1.確認方法」でしたので、これらを踏まえた「その2.最適化のベストプラクティス」を書こうと思います。
相談したいときは、Trailblazer Community (「Lightning Experience 日本」グループ) へぜひご投稿ください!