2

異なるスクリプトに対して多くのリクエストを行うとパフォーマンスが低下することはわかっています。つまり、私のスクリプトには 30 個の依存関係が必要なので、require.js はそのために 31 個のリクエストを作成します。require オプティマイザーを利用して、スクリプトのバンドルをダウンロードすることができました。

SPDY を使用し、それでも 31 リクエストを行う場合、リクエストを多重化する機能は役に立ちますが、パフォーマンスの点で違いはありませんか?

ありがとうございました

4

1 に答える 1

2

SPDY を使用する場合、要求を多重化する機能により、パフォーマンスが向上する可能性があります。

その理由は、プレーンな HTTP では、ブラウザーは通常、同時に 6 つの要求しか作成できないためです (30 個のスクリプトすべてが同じドメインからダウンロードされると仮定します)。次に、ブラウザーは、7 番目の要求を実行できるようになるまで、少なくとも 1 回のネットワーク ラウンドトリップを待機する必要があります。クライアントがサーバーに対してどこにいるかによって、ネットワーク ラウンドトリップは 50 ミリ秒から 500 ミリ秒の範囲になり、場合によってはそれ以上になることもあります。

SPDY では、多重化のおかげで 30 の要求すべてを一度に行うことができます。

さらに、SPDY プッシュを実装する SPDY サーバーは、プライマリ リソース (通常は HTML ページ) に対する最初の要求と共に、30 個のセカンダリ リソースをクライアントにプッシュできる場合があります。

Jettyは SPDY プッシュを実装しています。このデモを見て、プライマリ リソースに関連付けられた 20 以上のセカンダリ リソースを要求しているときに SPDY プッシュがもたらす違いを確認できます。

Jetty SPDY のドキュメントはこちらと、Jetty で SPDY プッシュを構成する方法を示すブログ投稿を見つけることができます。

于 2013-06-13T11:41:56.890 に答える