サイズが50kbのページを読み込んでおり、その中にWebサービス呼び出しがあります。私がここで直面している問題は、初期ロード中にかなりの時間がかかり、ページがレンダリングされる前にわずかなハングが発生することです。
これを克服する方法は?それ以外の場合、より良いパフォーマンスを発揮できるロード機能に利用できる代替手段はありますか?
サイズが50kbのページを読み込んでおり、その中にWebサービス呼び出しがあります。私がここで直面している問題は、初期ロード中にかなりの時間がかかり、ページがレンダリングされる前にわずかなハングが発生することです。
これを克服する方法は?それ以外の場合、より良いパフォーマンスを発揮できるロード機能に利用できる代替手段はありますか?
私が正しく理解していれば、あなたのページの読み込みは、事実上あなたのボトルネックであるこのWebサービスに依存しています。
基本的に2つのオプションがあります。
オプション1-キャッシング
呼び出しているWebサービスがすべてのロードで100%最新である必要がない場合は、応答をキャッシュできる可能性があります。現時点ではどのように行っているのかわかりませんが、サードパーティのサービスの場合は、短いプロキシプログラムを作成して毎分呼び出し、応答をディスクに保存すると、ページがそれを取得します。から。
または、独自のプロキシサービスを作成したくない場合は、内部ネットワーク接続をキャッシュできるSquidのようなものを使用できます。したがって、アプリケーションがSquidを介して何かをクエリすると、そのサーバーへの応答がt期間キャッシュされます。
オプション2-AJAX
キャッシュできないもの(つまり、Webページのメンバーシップの詳細に関係するもの)の場合は、jQueryを使用してページを非同期にロードすることを検討できます。
Webサービスの事前レンダリングの詳細をロードする代わりに、$。ajax()を使用できます。それをロードし、完全にロードされたらJavaScriptでページを更新する関数。
別のドメインのサードパーティである場合は、サイトのAJAX URLを呼び出してWebサービスを呼び出すことができるように、独自のシステムでプロキシを構築する必要があります。
そのうちの2つのうち、可能であればオプション1を選択することを真剣に検討します。応答をキャッシュすると、アプリケーションが大幅に高速化され、トラフィックの多いアプリケーションの場合にWebサービスにかかるストレスが軽減されます。
オプション2はまだ有効であり、これらの問題に対処するためにAmazonなどの多くの大手ブランドで使用されています。