最近花了不少时间试着优化网站速度体验,从进一步优化 Nginx 配置到尝试各种付费 DNS,从静态资源反代到境内直连,境外 Cloudflare CDN 分流,网站打开速度从全球平均 2.5s 降低到了 1.2s 左右,毕竟哪个博主不想让自己的网站秒开呢。

当折腾完后回过头来看时总觉得哪里不对,我的小破站真的需要经常去折腾这些吗?

首先,如果有钞能力,加钱的体验那自然是极好的。而本站算上服务器、域名等各项相关费用,目前年支出在 $100 左右,作为一个爱好来说,勉强可以接受。当然,稍微优化下完全可以控制在 $50 以内,如果换到甲骨文 Always Free VPS 等各种免费的服务,甚至能节约到每年只需要一个域名的费用。但作为一个定位清晰的不知名普通小博客,维持现状或许不错,也没有再增加额外费用的必要。

再来看一张最近的访问量统计图。

0083-optimize-my-blog-web-analytics

近一个月日 IP 在 100 左右,其中访问来源 70% 来自于谷歌,10% 来自于必应;访客 1/3 来自于中国,1/5 来自于北美。在没有国内搜索引擎收录的情况下,说明大多数访客是爱科学的,再鉴于访问本站的 90% 以上的都是中文用户,似乎上 Cloudflare CDN 也并不是一个刚需的方案,服务器本身在美西,最多再加上一个亚太节点就可以得到很不错的效果。

网站还是应该内容优先。

在我思考良久之后,决定删除 CNAME 到 Cloudflare CDN 的记录。因为我是 non-www 爱好者,@ 记录的 CNAME 高优先级导致和 MX, NS, TXT, SOA 等的冲突是老生常谈的问题了,这里就不再多说。目前用的阿里云 DNS 应该是进行了 CNAME Flattening 之类的优化,A 记录倒是没问题,MX 记录我不同时间点测试了很多次,大多数时候没问题 ,但偶尔也会出现下图中部分节点被覆盖的情况。

0083-optimize-my-blog-dns-mx

可能是不到 72 小时记录没分发到位,也可能是部分小众 DNS 节点的问题,但如果因为这个小问题导致邮件漏收是得不偿失的。

另外有一部分原因是不想过于依赖 Cloudflare 服务。Cloudflare 好吗?很香,免费的 CDN、超快的 Anycast DNS 解析,不仅仅是让你的网站在全球范围内更快 (众所周知大陆不属于互联网),还能免除大部分人被 DDoS 的烦恼,域名成本价注册、邮件转发以及各种免费的实用功能,堪称一条龙服务,但是我不想把鸡蛋放在同一个篮子里,现在绑定得越深,以后就会越难离开。

Cloudflare 还在扩展市场阶段,截止 2022Q3,Cloudflare 420 多万客户中,付费用户只有 15.6 万,据 W3Techs 统计,目前全球约 20% 的互联网流量经过 Cloudflare 处理,以至于 Cloudflare 专门推出了 Radar 互联网流量分析网站。如此多的行业流量数据和低付费率,当 Cloudflare 想要加快盈利的时候会怎么做呢。不过我认为当前乃至未来较长的一段时间内,Cloudflare 对于大多数站长来说依然会是无敌的存在,即使是在国内速度由于被滥用导致体验不佳的情况下。

有不少我常读的博客几乎没有什么优化,打开要等待三五秒,但因为有趣/有用的内容,我依然乐于去看,或许这才是应该花更多时间去学习的方向。当然,有时间去把网站优化到一个不错的速度也是很有意义的事,但我现在认为不必过于追求,折腾半天不如多搬两块砖加点预算来的简单。而对于我的小破站来说,不如多写两篇文章来得实在。

如果你认为这篇文章还不错,可以考虑为我充电 ⚡️