
内部アプリケーションの Web インターフェイスで JavaScript をさらに使用し始めました (重要な場合は PHP)。変更が行われたため、ページ上の JavaScript が増えるほど、Squid によるページの読み込みが遅くなることが非常に明らかになりました。
なぜこのようなことが起きているのか、何かアドバイスはありますか? 質問が曖昧になりたくないのですが、自分が何を探しているのかわからないときに何かを提案したくありません。
一つ思いついたことがあります。JavaScript のないページがキャッシュされず、Squid サーバーが密かに遅い場合はどうなるでしょうか? これをテストするにはどうすればよいでしょうか?
どうか、教えてください!
アップデート1すべての JavaScript はキャッシュされ、プロキシ サーバーから取得されます。データ量としては最大のチャンク (約 60k) は生成された HTML であり、これは毎回欠落します。
アップデート2Ajax はなく、JavaScript はフローティング ツールバーに限定され、検索機能用にテキストの事前解析を処理します。これは、「文字数が x の場合、一致する注文番号を検索する」といった単純なルールに基づいています。
詳しく調べると、キャッシュされたすべての JavaScript は、送信される前に最新バージョンかどうかがチェックされます。TCP_REFRESH_HIT/304
これがボトルネックになっているのではないかという気がします。
答え1
Squid アクセス ログを調べて、TCP_HIT を探します。これにより、どのページがキャッシュから配信され、どのページが転送されているかがわかります。
答え2
クライアントからは、Squid 経由で接続しているかどうかを完全に確認することはできません。X-Forwarded-For ヘッダーが存在している可能性があります。
また、サイトに直接アクセスしてみてください。それでは高速になりますか、それとも JavaScript 全体のせいでブラウザ自体が遅くなっているだけでしょうか?
答え3
「JavaScript の使用を増やした」とは、具体的にどういう意味ですか? 多数の同時呼び出し/取得で AJAX を導入している場合、同時クライアント接続の制限に達している可能性があります。