网站打开慢排查全流程:从浏览器到数据库
引言
网站慢是个模糊问题,盲目优化常常白费劲。正确做法是沿请求链路逐层测量,慢在哪一层修哪一层。
一、第一层:DNS 与建连
浏览器 F12 打开 Network 面板看瀑布图:DNS 解析超过几百毫秒,换解析服务商或加缓存;Initial connection 慢,可能是线路绕路或 SSL 握手重,考虑 CDN 与 HTTP/2。
二、第二层:服务器响应(TTFB)
TTFB 超过 500ms 说明后端慢:看服务器负载、PHP 慢日志定位慢函数、检查是否没开 OPcache。静态资源被动态渲染也是常见原因——图片、CSS 该走 CDN 别走源站。
三、第三层:应用与数据库
接口内部耗时用链路日志拆分:SQL 慢查询开 slow log 抓(没索引的全表扫描是大头)、外部 API 调用加超时与缓存、循环里查数据库改成批量查。这一层的优化收益最大,也最考验耐心。
四、第四层:前端渲染
TTFB 正常但用户仍觉得慢,看前端:图片过大(转 WebP 加懒加载)、JS 阻塞渲染(异步加载)、资源未压缩(开 gzip/brotli)。首屏争取 2 秒内可交互。
总结
排查口诀:先测量后动手,DNS→建连→TTFB→SQL→前端逐层看瀑布图。多数网站慢是“没开缓存、图片没压缩、SQL 没索引”三件套,从这三个入手通常立竿见影。