我们刚刚开始在内部应用程序的 Web 界面中使用更多 JavaScript(如果重要的话,可以使用 php)。现在更改已经到位,很明显,页面上的 JavaScript 越多,通过 squid 加载页面的速度就越慢。
关于为什么会发生这种情况,您有什么建议吗?我不想问得过于模糊,但当我不知道自己在寻找什么时,我也不想提出建议。
我想到了一个问题:如果没有 javascript 的页面没有被缓存,我们的 squid 服务器速度会很慢吗?我该如何测试?
请赐教!
更新 1所有 javascript 都已缓存,并从代理服务器中拉取。最大的数据块(~60k)是生成的 html,每次都会丢失。
更新 2没有 ajax,javascript 被限制在浮动工具栏中,并处理一些文本预解析以用于搜索功能,它基于简单的规则“如果它有 x 个字符,则查找匹配的订单号”之类的东西。
仔细检查后,所有缓存的 javascript 都会在发送之前检查其是否是最新版本。触发TCP_REFRESH_HIT/304
我有一种感觉,这可能是我的瓶颈。
答案1
检查您的 squid 访问日志并查找 TCP_HIT。这将告诉您哪些页面是从缓存中传送的,哪些页面是转发的。
答案2
从客户端来看,您无法完全确定是否通过 squid 进行连接。您可能存在 X-Forwarded-For 标头。
另外,尝试直接访问该网站。那么,它的速度快吗?还是只是你的浏览器本身因为整个 JavaScript 业务而变慢了?
答案3
您所说的“开始使用更多 javascript”到底是什么意思?如果您使用 AJAX 进行大量同时调用/检索,那么您可能会达到同时客户端连接的限制。