最近有一些国内的同学反应我的博客(回复博客获取地址)访问速度很慢。除了墙的因素之外(博客服务器在北美),缺乏优化也会导致速度被拖慢。在讲我是怎么优化博客的速度之前,先统计一下大家的地理位置,其实主要看一下墙内外的比例。
欢迎大家给我留言反馈博客的访问速度,格式:坐标 速度(快|中|慢|无法打开)
首先声明我不是网络方面的专家,下面的优化只是基于一些工具的反馈和我自己的经验进行的。
优化网站访问速度的最主要有这几个方面:
减少请求次数
请求合并
缓存控制
减少payload(text, script, css, image, etc)
gzip
minify
图片格式选择和压缩
CDN
缓存控制
减少waiting time (服务器处理时间,主要是数据库查询)
profiling
其实上次做网站优化大概是2008年那会儿,这10年来指导思想并没有太大的变化。
我的博客是用Wordpress搭建的,装了不少插件(其中一个是罪魁祸首)。平时自己访问并不觉得很慢,看来缓存插件是起了一定得作用。关闭缓存插件之后,fetch一个网页居然要10多秒... 就算是炮灰服务器再弱也不应该这么慢。果断装了一个Query Monitor插件,可以做简单的profiling。不看不知道,一看吓一跳,其中的一个query占用了90%以上的时间。就是它,popular post 插件,在postviewsummary的表上做sum。这张表并不大,才30多万行(为什么会有这么多?),估计是query/indexing没写好... 不管了,我也不需要这个功能,直接把插件删除就行了。根据profiling的结果,又删除,修改了几个插件,页面生成时间终于降到了1秒以内,世界一下子清静了...
Query Monitor,首页生成时间0.55s
剩下的大部分时间我都在压缩图片,由于设置了长期缓存,图片大小只会对第一次访问有影响。
把bili的台标从44KB压缩到1.9KB(降低分辨率,改成PNG8,8色),小图其实看不出什么区别。44KB放在现在可能不算什么,当年可是需要下载十几秒的...
43 KB
1.9KB
好了今天就暂时写到这里吧。大家不要忘了给我留言反馈博客的访问速度哦!格式:坐标 速度(快|中|慢|无法打开)。
如果你有什么优化建议也欢迎留言和大家分享。
====== 分割线 ======
在线网站访问速度分析工具:
https://tools.pingdom.com
https://developers.google.com/speed/pagespeed/insights
领取专属 10元无门槛券
私享最新 技术干货