网页加载请求的TTFB时间过长是什么原因呢?

网页加载过慢,一个网页要花10s左右的时间加载,调试时发现TTFB的时间过长,不知道什么原因。不知道是不是原因出在后端数据的返回上.

计算打印了一下后端请求的时间,发现链接数据库花费了大半的时间,有什么优化数据库的方法吗?
chrome console报错

阅读 9.3k
3 个回答

TTFB(Time To First Byte)首字节时间,包含了发送请求到服务器,服务器处理请求并生成响应,服务器响应内容发送到浏览器的时间。只测试浏览器收到第一个字节的时间。

会对这个造成影响的分别有DNS查询、服务器响应、SSL认证,重定向等。例如可能因为你的服务器在国外之类的原因造成TTFB过长。

如果你的数据是后端计算完之后嵌到前端页面上,也会有影响。解决方法不外乎是把某些运算量较大的数据获取改为用ajax之类的方式分步获取。

你可能已经找到问题的原因了,验证一下是否是数据库查询慢,直接 explain 这条 sql 语句,分析一下性能,看如何优化,如加索引,分库分表,加缓存等等。

优化一下sql查询语句,检查各种日志。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题