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