Lightning Experienceのパフォーマンス ~その2. 最適化のベストプラクティス~
こんにちは、furu_show です。
前回はパフォーマンスの確認方法について「Lightning Experienceのパフォーマンス~その1. 確認方法~」ご紹介しました。
本日は、確認後に最適化するためのベストプラクティスを紹介します。
(本ブログは「Lightning Experience のパフォーマンスの概要」からピックアップしてご紹介しています。詳細はナレッジを参照ください。)
0.おさらい
前回のブログでは、Lightning Experienceのパフォーマンスの考え方をご紹介しました。まとめると下記の3つが影響する要素です。
・ページの複雑さとカスタマイズ (多数のカスタム項目やコンポーネントを含む複雑なページ)
・ネットワークの性能 (ネットワーク遅延)
・ブラウザの性能 (ブラウザとデバイスのパフォーマンス)
今回は、この3つの要素を最適化するためのベストプラクティスをご紹介していきます。
1.ページの複雑さとカスタマイズによる改善
・ページの複雑さの減少 (例:コンポーネントの数、クエリの実行時間、カスタムコードの複雑さ)
・重要度の低いコンポーネントを主タブに配置しない
・レイアウトに配置する項目数を減らす(50項目以下が推奨)
・関連リストを減らす(12以下)、もしくは関連リスト-1つコンポーネントを利用し、もっとも重要なコンポーネントを表示させる(他は後ろタブ)
・適用可能であればカスタムコンポーネントの代わりにLightning アクションを利用
・カスタムコンポーネントの性能を最適化し、LWCフレームワークを活用
・コンソールアプリケーション内のオープン中のタブ数を最小化(英語)
推奨
・Lightning ページのコンポーネント表示の仕方を工夫する(タブの利用、関連リスト-1つの利用)
・動画 はじめてのLightning Experience〜カスタマイズの基本〜 を確認
・Trailhead Lightningアプリケーションビルダーで学習
2.ネットワーク性能の改善
・Lightning CDNの活用、もしくはEdge機能を活用する。
・キャッシュ、ストア可能なアクション、Lightningデータサービスを利用し、カスタムコンポーネントのXHRを削減
・VPN ネットワークトポロジーの影響を注視し、VPN Split Tunnelingの利用を検討(参照:Network Best Practices for Salesforce Architects (英語))
推奨
・最速で最も安定した環境には、150ms 以下の遅延と 3Mbps 以上のダウンロード速度が推奨されます。
・最小要件は、200ms のネットワーク遅延と 1Mbps のダウンロード速度です。
3.ブラウザ性能の推奨
・最新のウェブフレームワークに対応したモダンブラウザの利用を推奨
・仮想環境での Lightning Experience の実行には、使用しているプラットフォームのグローバル動作を確認する予備テストが必要です (例: VDI モードまたは仮想アプリケーションモード)。
推奨
・安定した環境のためには、デバイス搭載 RAM が 8 GB 以上、Salesforce ブラウザタブに 3GB 使用可能であることを推奨します。
・参照:Lightning Experienceでサポートされるブラウザ
4.最後に
いかがでしたでしょうか。
遅い原因はSalesforceの中にだけあるとは限りません。システム管理者の皆さまは、まずネットワークの状況を把握しましょう。
また、「1画面で様々な情報にアクセスすること」は「全ての項目を1画面に表示させること」ではありません。どこかの駅の近くの飲食店を探すとき、全部のレストランが載っている地図と、自身がみたいカテゴリで選べて表示できる地図だとどちらの方がストレスないでしょうか。
ユーザにとって必要な情報を必要な形で表示させ、その必要な情報にいかに早くアクセスするか=生産性向上だと思っています。
"1.ページの複雑さとカスタマイズによる改善"の最適化を行うと、実は結構改善につながるかもしれません。
その1と今回の内容を下記のウェブセミナーでも紹介していますのでぜひ合わせてご覧ください。
相談したいときは、Trailblazer Community (「Lightning Experience 日本」グループ) へぜひご投稿ください!