パフォーマンス・チューニング・チェックリスト
パフォーマンス・チューニングのヒントをまとめたものを次に示します。 これらは特定の重要順序に示されてはいませんが、Digital Customer Serviceアプリケーションが稼働した後に検討できます。
潜在的な問題 |
パフォーマンス・チューニングのヒント |
---|---|
アプリケーションはバンドルされておらず、デプロイメント用に縮小されているため、動作が遅くなっています。 |
関連項目の領域で「デプロイメント用のアプリケーションの最適化」トピックへのリンクを参照してください。 |
大きいイメージは、ロードにかかる時間が過度に長くなり、表示される画面のセクションに応じて縮小されます。 |
イメージのサイズをUIの表示に必要なサイズに縮小します。 UI表示で使用するためのイメージをサイズまたは品質のいずれかによって最適化し、許容できる品質と小さいファイル・サイズのバランスを取ります。 |
クライアント・リージョンがデプロイメントのデータ・センターの場所から離れている場合、アプリケーションのロードに時間がかかります。 |
アプリケーションをグローバル・コンテンツ・デリバリ・ネットワーク(CDN)にデプロイします。 Visual BuilderのCDN機能によって、アプリケーションのベースhrefがCDNサーバーに設定され、すべてのリソースがCDNから正しくロードされます。 その結果、アンカー参照を含む相対URLは、ベースhref値に対して相対的に解決されます。 アプリケーション・ナビゲーションの場合は、Visual Builderナビゲート・アクションとDCSナビゲート・イベントを使用することをお薦めします。 href="#"はプレースホルダとして使用されており、href="javascript:;"に置き換える必要があります。 ページ内のアンカーに移動するには、<a href="javascript:;" onclick="document.location.hash='myanchor';">を使用する必要があります 関連項目の項で「コンテンツ・デリバリ・ネットワーク(CDN)でのアプリケーションのホスト」トピックへのリンクを参照してください。 |
URLリンクとその結果でナビゲーションごとにアプリケーション全体がリロードされるため、ページ・ナビゲーションが遅くなります。 |
ナビゲーション・イベントでページ・ナビゲーションを実行します。 ナビゲーション処理を使用してフロー内のページ間およびルート・ページへのナビゲーションの調整を支援する方法の詳細は、関連項目の項でOracle Visual Builderによる開発者アプリケーション・ガイドの「ナビゲート処理」トピックを参照してください。 この仕組みの例として、service-request-list-startページの次のアクション定義を参照してください。 および |
RESTコールによりページ・ナビゲーションが遅くなります。 |
|
jQueryの複数のコピーが不必要にロードされたことがありました。 |
不必要にロードされるファイルがないことを確認してください。 |
サービス・ワーカー・スクリプトによりパフォーマンスが低下します。 |
サービス・ワーカーが有効になっている場合は無効にします。 index.htmlファイルに次の行を追加することで、サービス・ワーカー・スクリプトのロードを完全に無効にできます。
}
|
レコードが作成または更新されると、毎回すべてのフィールドを計算するサーバーとの間でやり取りするパフォーマンスが低下します。 |
POSTおよびPATCH操作の不要なレスポンスをオフにします。 ほとんどの作成および更新操作ではサーバーからのレスポンスは必要ないため、これらをオフにすることで、CSPアプリケーションとCSEアプリケーションの両方の応答性を向上させることができます。 |
低速なパフォーマンス |
リクエスト内のfields= parameterを使用して、レスポンス・ペイロードのサイズを制限します。 |
低速なパフォーマンス |
onlyDataパラメータを使用し、Trueに設定します。 |
低速なパフォーマンス |
可能な場合、複数のAPIリクエストを単一のリクエストに結合します
|
低速なパフォーマンス |
バンドル・モジュールを構成します 初回起動時に必要なファイルを含むバンドルのみをロードすることで、初期ロードでロードする必要があるファイルを最小限に抑えることができます。 たとえば、匿名アクセスに必要なファイルにバンドルを定義し、認証されたアクセスを必要とするフローには別のバンドルを定義します。 詳細は、関連項目でVisual Builderによるアプリケーションの開発ガイドの「バンドル・モジュール」トピックへのリンクを参照してください。 |
セカンダリ・サーバーへのアクセスがDNS解決によって遅延する場合があります。 |
index.htmlにディレクティブを追加することで、事前接続を使用して、FusionサービスやCDNサーバー(使用されている場合)などの重要なセカンダリ・サーバーへの早期接続を確立します。 たとえば、<link rel="preconnect" href="https://example.com"> |