前段时间开始使用 Banner 图片了嘛,而且有时候图片确实比文字更省力,所以尝试性的的接入了腾讯云的对象存储 COS,不用太担心会占满服务器的带宽。
大概是上上周去 COS 看过,感觉扣费项太繁琐了,七八种扣费项目头都要晕了,然后就下单了没付款,之后有个腾讯云的客户经理打来电话。
了解我的困惑之后说并没有那么复杂,其实只有两个费用,一个是“存储费用”,一个是“外网下行费用”, 没有其他的扣费项,之后就先加了个微信。
昨天下午正好有时间,就买了外网下行的资源包,每月 10G,六个月 20 多块钱。
接着配置域名 CNAME,申请 CDN 的 SSL 证书,一切还算顺利,最后把文件从服务器上下载下来然后上传到 COS 中,接着惊喜就来了。
COS 延迟超高
速度慢的是访问 COS 文件的,速度快的是直接访问服务器的,两者都是在腾讯云上海的数据中心,访问速度差了 4 倍多。
各种方式测试之后还不行就提交了工单,奇葩的回复就来了:
“您好,您这边两个请求协议不同,http1.1 和 h2 ,h2请求效果大部分情况下比http1.1 快”
“cos和cvm不一样,cos适合用于存放文件。不是用来做内容分发的。 cos这里比cvm架构更复杂,而且比cvm多很多模块,比如权限检验等,因此有一定的耗时差异是正常的,如果您需更低的耗时体验,可接入CDN内容分发网络来进行加速。”
“您好,看cos这块也没什么异常,建议您可以接入CDN加速看看,在CDN侧也开启http2,看下耗时方面能否再下降一点哈”
反正一句话,我们 COS 这么高的延迟就是没问题,想要正常的速度就去用 CDN,得,都入坑了还能咋办,接着继续呗(其实主要是看到 CDN 也有免费六个月的使用,然后买的“外网下行流量”也没找到退款的地方)。
第二天经过工单沟通给退了,退到账户余额了,另外今天出了账单,可以看到还有两个付费项需要关注,“请求次数”和“CDN 回源流量”。
另外账单的精度是到分的,所以目前到厘的这种理论上还不会扣费,资源包暂时就不买了,看了下貌似也就打了个七折,暂时用不上,就让他扣退回来的钱好了。
接入 CDN
也没什么复杂的,配置了一个 TXT 指向,通过之后再配置 CNAME 就完事了,后面可能还有一些安全配置,类似于 referer 白名单,IP 限流之类的东西,比如下面的 20QPS,理论上来说如果手动以极快的速度刷新网页就会触发。
配置过程中提示之后还有扣费项:COS 回源费用,HTTPS 请求费用(目前每月 300W 次免费额度),QUIC 请求费用,真是麻烦,直接组合起来合并扣费不行吗?
并且忽然发现,之前买的 COS 的外网下行流量岂不是就没用了 (ー`´ー),继续工单咨询,文档搞得乱七八糟的也不知道到底会扣哪些。
所幸结果是好的,速度相比直接访问服务器快了一半的时间,而且不占用服务器的带宽了。
适配 CDN
因为本站是预生成的博客内容,而我也不打算重新生成一遍,所以就在获取页面的时候进行动态替换,四行代码搞定。
后面可能这里要改成懒加载,目前没改的原因是如果滚动到文章一半的地方强制刷新页面,因为图片没高度可能会造成页面闪烁。
回退手段
为了便于回退,所以目录是直接照搬到 COS 的,只是把所有向 note.lilonghe.net 发送的资源请求替换成向 cdn.lilonghe.net,所以如果需要回退,只需要把 cdn.lilonghe.net 的域名解析指向服务器就可以完成回退了。