我们迄今为止的努力全部不是木大的

DNA片段

压缩和缓存

在最初的建站中,我们只用了NGINX提供的一个压缩功能。这个功能某种意义上效果显著(迫真),站长之家的SEO甚至认为我们的压缩率高达99.99%。

我差点就信了

但是,光是这种解决不了实际问题的压缩是不够的。于是,我又掏出了我们高中时期就有用过的传统艺能页面缓存。这种缓存成静态文件的方式能够降低不少服务器开销,不再需要为每一个访客都:parrots.php:一下,同时它还提供了压缩JS/CSS的选项省了点人力

免费版就够了,剩下的有别的办法不是吗

至此,我们早期建站努力就只有这些(全部木大)

CDN

CloudFlare/百度

事实上一开始我们域名解析服务是放在CloudFlare上的,因此使用CloudFlare免费版只需要一个按钮的事情。然而,对于我们曾经使用的海外主机来说可能会有显著的加速效果,但是对于国内主机来说只能是减速了(除非氪金)。之后我们就一直采用直连的方式,直到雪猫镇回忆录中B&A框被证实因为某些加载上的原因导致拖 不 动。

在国内适用的CDN中精挑细选后我们决定套上小度,虽然过程并不是那么顺利。

Github+jsDelivr

这个不能算是直接为本站加速的那种CDN,主要还是为了分担一下本站图片存储的压力。折腾的方法在这,并且以后总有一天会考虑转移到OSS之类的存储方案。目前我们的发展状况还是比较适合这个方案的

这两种方式大大提高了我们静态页面的加载速度,在PageSpeed的测试中已经能达到80左右(移动端)90分以上(PC端)的优异成绩←迫真

可惜暂时做不到满分

然而,这还不够。对于涉及到php的操作,无论是撰写文章还是后台相关的任何操作,网站的响应速度都还比较慢。对于我们这种土豆服务器就真的没办法了吗?答案其实是有的。

OPcache+Redis

OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能,存储预编译字节码的好处就是省去了每次加载和解析PHP脚本的开销。PHP5.5.0及后续版本中已经绑定了OPcache 扩展。对于PHP 5.2,5.3 和5.4版本可以使用PECL扩展中的OPcache 库。

OPcache的面板

对于我们的PHP7来说当然是标配了,因此这一项倒不用说太多。
但是真正让我们从体感上觉得大大降低响应时间的还是Redis。

在使用Redis之前我们是有考虑过memcache这类以前就用惯了的东西,不过去找了不少资料发现大家都更推荐Redis。装上后也确实是快了很多,至于原理嘛……缓存这东西就是这么玄学吧

一点遗憾

在上述各种努力的帮助下,我们的网站已经很快了(大概吧),但是在发表评论时的等待时间还是太长了。经过分析得出的结论大概是因为每次评论都会触发后台发一封邮件提醒被评论人的这个过程导致响应不够快,因为还没有去彻底研究所以就先得出了这个结论。至于后续优化,即便关掉邮件提醒能够提速我们也不会轻易关闭,因为这会导致逛本站不是那么勤快的人不能及时察觉到自己的文章/评论被回复。

那么这篇文章就先到这里了,我们下期再见,白白

届ける言葉を今は育ててる
最后更新于 2020-07-02