2

私は、開発環境がローカルWebサーバーから約500のjsファイルをロードするWebアプリケーションで作業しています(IISとApacheの両方を試しました)。これらのファイルはprodで最適化されていますが、開発用にはそれがあります。非常に多くのjsファイルをロードする必要性を妨げる可能性のある他の戦略的オプションがあることは知っていますが、それは現在私の手に負えません。私がやりたいのは、これらのリクエストをスピードアップすることです。これらのリクエストのそれぞれが10ミリ秒しかかからないので、リクエスト全体が5秒(10ミリ秒* 500リクエスト)かかると考えるのはおかしいですか?現在、chromeとfirefoxの両方が、これらのリクエストに約100ミリ秒かかると報告しています(304秒の場合でも)。

これを最小公分母に落とし、1行のjsファイルを作成しました。私はfirefoxとchromeを介してこのファイルにリクエストを発行し、それぞれが100ミリ秒以上かかると報告しています。ただし、奇妙なことに、curlから同じ要求を行うと、5ミリ秒しかかかりません。

$ curl 'http://10.222.139.56:81/js/ben.js' -o /dev/null -w '%{time_total}'
0.005

何が得られますか?カール数は正しいと思いますか?クロームとFirefoxに時間がかかるのはなぜですか?

4

2 に答える 2

2

私の推測では、FirefoxとChromeによってロードされた各jsファイルについて、報告された時間には、ファイルのブラウザーの解析、キャッシュなどが含まれています。ワンライナーファイルでさえ、処理に少量の作業が必要になります。一方、curlはコンテンツをプルダウンして、ディスクまたはstdoutに保存します。その操作ははるかに高速です。

于 2012-08-16T19:03:28.170 に答える
1

私にとっての答えは単純でした:クッキー。

「Content-Type:application / json」として機能する単一のjsonファイルで、Chromeのネットワークタブは一貫して最大1400ミリ秒を示しましたが、curlは最大300ミリ秒でした(ブラウザのユーザーエージェントが設定されている場合でも)。きれいに印刷できるプラグインを無効にし、Chromeの開発ツールで[キャッシュを無効にする]をオンにしたので、ブラウザでこれを解析する必要はほとんどありませんでした。

最後に、シークレットウィンドウで試してみたところ、Curlと同じ時間の結果が表示されました。次に、元のウィンドウに戻ってCookieを削除しましたが、それ以外は何も削除せず、同じ速度で速度を上げました。私のWebアプリケーションは、それを検証する別のサービスへの要求で特定の認証Cookieを使用していることにようやく気づきました。

于 2014-11-06T17:02:17.833 に答える