パフォーマンス・チューニング・チェックリスト
パフォーマンス・チューニングのヒントをまとめたものを次に示します。 これらは特定の重要順序に示されてはいませんが、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"> |