0

サイズが50kbのページを読み込んでおり、その中にWebサービス呼び出しがあります。私がここで直面している問題は、初期ロード中にかなりの時間がかかり、ページがレンダリングされる前にわずかなハングが発生することです。

これを克服する方法は?それ以外の場合、より良いパフォーマンスを発揮できるロード機能に利用できる代替手段はありますか?

4

1 に答える 1

3

私が正しく理解していれば、あなたのページの読み込みは、事実上あなたのボトルネックであるこのWebサービスに依存しています。

基本的に2つのオプションがあります。

オプション1-キャッシング

呼び出しているWebサービスがすべてのロードで100%最新である必要がない場合は、応答をキャッシュできる可能性があります。現時点ではどのように行っているのかわかりませんが、サードパーティのサービスの場合は、短いプロキシプログラムを作成して毎分呼び出し、応答をディスクに保存すると、ページがそれを取得します。から。

または、独自のプロキシサービスを作成したくない場合は、内部ネットワーク接続をキャッシュできるSquidのようなものを使用できます。したがって、アプリケーションがSquidを介して何かをクエリすると、そのサーバーへの応答がt期間キャッシュされます。

オプション2-AJAX

キャッシュできないもの(つまり、Webページのメンバーシップの詳細に関係するもの)の場合は、jQueryを使用してページを非同期にロードすることを検討できます。

Webサービスの事前レンダリングの詳細をロードする代わりに、$。ajax()を使用できます。それをロードし、完全にロードされたらJavaScriptでページを更新する関数。

別のドメインのサードパーティである場合は、サイトのAJAX URLを呼び出してWebサービスを呼び出すことができるように、独自のシステムでプロキシを構築する必要があります。


そのうちの2つのうち、可能であればオプション1を選択することを真剣に検討します。応答をキャッシュすると、アプリケーションが大幅に高速化され、トラフィックの多いアプリケーションの場合にWebサービスにかかるストレスが軽減されます。

オプション2はまだ有効であり、これらの問題に対処するためにAmazonなどの多くの大手ブランドで使用されています。

于 2012-05-01T09:34:06.233 に答える