网站慢是最常见的抱怨,也是最难一句话回答的问题。慢在哪?是服务器、是图片、是数据库、还是用户手机不行?这篇按我们实际的排查顺序讲,从最容易查的开始。
一、图片没压缩,这是最常见的
十次里有六七次,主因是图片。一张手机拍的原图三五兆,直接传到首页轮播,一次加载好几张,手机流量用户等半分钟。做法很朴素:压到合适的尺寸,用 WebP 这类现代格式,配上按需加载。这一项改完,多数站的首页能从七八秒降到两三秒。
二、服务器和线路
服务器配置太低、带宽太小,或者机房线路绕远,都会慢。判断方法很简单:用不同地区的测速工具看响应时间,如果首字节时间就很长,那是服务端或网络的问题,跟页面代码没关系。这时候优化前端是白费力气。信服无限网排慢站,第一步永远是看首字节时间。
三、数据库没走索引,资源太多
列表页要查几千条数据,字段没建索引,一次查询扫全表,页面就卡住。表现是打开首页很快,点进列表就转圈。查慢查询日志基本能定位,加个索引就解决,成本极低。另外是前端资源堆了几十个、还都是同步加载,浏览器要一个个等。
还有第三方脚本。统计、客服、广告这些外部脚本各自拖慢一点,加起来就很可观,有些一挂就是好几秒。这两项都能用浏览器的性能面板看出来,看哪个请求耗时最长、阻塞了多久,一目了然。我们排查过上百个慢站,八成问题集中在图片和第三方脚本。
我给客户的顺序一般是这样:先看首字节时间,判断是服务端还是前端;再看最大的一两个资源,通常是图片;然后看资源数量;最后才动数据库和缓存。按这个顺序,八成的站能在半天内定位到主因。还有一项最容易漏:浏览器缓存和页面缓存没开,每个用户来都重新算一遍。
网站速度的常见疑问
网站慢到底该先查什么
先看首字节时间。这个值正常说明是前端资源问题,偏长说明是服务端或网络问题,方向完全不同。
压缩图片会影响画质吗
合理压缩基本看不出差别。关键是按显示尺寸出图,别拿三兆原图去显示三百像素。
优化完能快多少
视原始情况。多数站做图片压缩、开缓存、减资源后,首屏时间能降一半以上。
总结:网站慢先分辨是服务端还是前端,再抓最大的资源。图片、服务器、索引、资源数、第三方脚本,九成问题在这五项里。