javascript - 如何减少服务器 "Wait"时间?

标签 javascript performance apache networking

我正在尝试优化网站的速度,我正在使用 pingdom.com 上的强大工具.现在,加载页面所需的时间超过 50% 是“等待”时间,如下面的屏幕截图所示。我能做些什么来减少这种情况?另外,这个数字有多典型?有这方面的基准吗?谢谢!

high server wait time

编辑: 好的..让我澄清一些事情。没有服务器端脚本或数据库调用正在进行。只有 HTML、CSS、JS 和图像。我已经做了一些事情,比如将 js 推送到 body 标签的末尾以获得并行下载。我知道 main.html 和 templates.html 通过在 js.js 下载后同步完成而增加了整体等待时间,这不是问题。我只是对每个请求有多少“等待”时间感到惊讶。服务器距离会影响这个吗?在共享服务器上怎么样,这会影响等待时间吗?是否有任何容易实现的目标来解决这些问题?

enter image description here

最佳答案

对于 Apache,最常见的原因是使用了 DNS 反向查找。这意味着每次您发出请求时,服务器都会尝试找出您机器的名称。这可能需要几秒钟,这就解释了为什么您有很长的等待时间,然后加载非常快,因为问题与带宽无关。

明显的解决方案是在/etc/httpd/conf/httpd.conf 中禁用主机名查找

HostnameLookups Off

但是……这通常是不够的。事实是,在许多情况下,即使您禁用了主机名查找,apache 仍然会进行反向查找,因此您需要仔细查看 apache 配置的每一行。特别是,最常见的原因之一是日志。默认情况下,在许多 red hat - centos 安装中,日志格式包括代表“主机名”的 %h,并且需要 apache 进行反向查找。你可以在这里看到:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

你应该把那些 %h 换成 %a 来解决这个问题。

关于javascript - 如何减少服务器 "Wait"时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938682/

相关文章:

javascript - 5个克隆后打破每个循环

python - 多处理池示例(并行)比顺序处理慢。试图了解python中的池

python - 在处理 pandas 中的 `category` 类型时 groupby 的性能

javascript - 如何通过javascript动态添加新按钮

javascript - 可点击的li,但另一个不可点击的li

javascript - 获取解析分析自定义仪表板

性能影响长双倍。为什么C选择默认的是64位而不是硬件的80位?

mysql - 谁在使用生产服务器上的所有内存(Apache + mysql + Rails)?

php - 错误:在php网站的centos 6.4中禁止403

java - 使用 SSL 的 JAX-WS Web 服务