我的博客终于建站长达6年了,虽然其中一年是空窗期,1年不更新花钱养着,直到我的搬瓦工的OVZ过期了我就暂时放弃了博客,虽然以前的文章不过还是算了,就像9637.tk那样,给自己一个新的起点吧。

在此之前,我都是在优化WP的加载速度,毕竟这样的折腾还是比较好玩,还记得当初任何优化都没有的博客,加载要8秒,所有静态资源直接走本地空间,css/js都没优化过,反正很难受。从以前的托管空间成长到现在的vps,一路走来,各种优化方式都屡试不爽。

现在条件好了,可以用得上搬瓦工的KVMVPS(主要是用来搞bbr内核和$$顺便建站)(传家宝啊,内存多了128M,流量多了500G,爽到),也玩得起Let's Encrypt的SSL啦(装逼而已,没啥卵用)。优化不再像以前只能装WP cache或改.htaccess,反正能做的东西越来越多了。

为了以后如果把博客搬迁到条件更好的VPS,还是在此写下笔记吧,怕到时又要翻某些网站的攻略。反正也没啥干货,就简略说说吧。

环境

LNMP+PHP7

VPS面板使用宝塔面板,之前lnmp用命令太麻烦了,还是用面板方便。

apache虽然稳定,但没有nginx那样性能强大,不过对网站速度影响有多快,我也不清楚,反正就心理作用吧。

前几天我是用着PHP5.4的,感觉还行;今天看到PHP7对WP有10%的提升,然后就赶紧把PHP升级7.1,果然效果拔群,装上opcache和memcached效果更好。

虽然我768M内存,不过换了PHP7后,内存占用低于300M了,之前一直400M多。

装上opcache和memcached

虽然搬瓦工都是SSD,不过论速度的话还是memcached效果好(内存的读写比硬盘快嘛),至少也减少了SQL的查询。opcache装上去,对后端的性能提升很大,反正在后台捣鼓东西,TTFB快了不少。如何安装和效果还是去看攻略好一点。

然而我做不到0 SQL查询,目前稳定在12请求(0.012秒内,问题应该不大吧)

别用InnoDB,小型网站用不起

昨天我在审查元素看了下网站的加载,主要是TTFB太长了,都要1s多,然后看了下谷歌,对我们这些小型网站,还是用MyISAM比较好,东西虽然没innodb强大,但对于我这些没人看的小博客来说,myisam足以。

用 HTTP2

源站是用HTTP1.1,而本博客是走CDN,所以用了HTTP2,关于HTTP2的效率还是百度一下吧,速度快了是真的。

WP内部

使用 wp super cache

这货至少比W3C好,之前还在用虚拟主机的时候,就被这W3C弄得主机CPU超过10%,被主机运营警告一次了。后来换了wp super cache,占用的资源很少,而且效率也跟W3C不相上下,而且又支持对象缓存,够用了够用了。

用 WP-Optimize 优化数据库

嘛,记得以前刚玩WP的时候,写了两年博客,里面的草稿,回收站什么的都没清理过,然后加载速度慢的一批,后来看了攻略再去phpmyadmin看看,卧槽,这数据库居然8M了,然后用这插件清理了一波垃圾后,数据库终于小了不少,至于速度的提升...我忘了,反正是快了。

用国内的js/css静态资源

嘛我博客主题用的是国人主题,这方面没特意优化过。这里不多说。(前几天不用了,用回本地的,减少DNS预取)

关掉一些无聊功能

例如把emoji/wp-embed/cron等功能关掉,也能减少请求数,加快了服务器响应(然而没啥卵用)

外部资源

还是用CDN好

博客刚建,什么资源都是用本地资源,国外主机都是这么慢大家也清楚。CDN我倒是用了几个,这博客使用魔门云,香港节点真的不错,而且可优化的功能比较多。相比之前的cloudflare减速CDN....嘛以后也会考虑备案,然后回到国内主机捣鼓吧。

(至少不用手动改静态资源的缓存时间了...)

压缩JS/CSS/HTML

html已经交给supercache搞定,然后我再把JS和CSS再次压缩,网站请求的容量减少了...其实也没多大差异,心理作用....

好像没

嘛,反正我博客都没怎么写,还是会继续研究如何提速的。通过gtmetrix的测试,3天的玄学加成快了不少

(这是8月5日的结果)


(8月7日的结果)

虽然pagespeed接近满分了,但Yslow还是有点小问题

Add Expires headers,给缓存资源添加过期时间,这好像是CDN的锅,我弄不来。
Make fewer HTTP requests,这个好像不可避免,毕竟后期对静态资源的请求会更多
不过换了个规则就A了23333