站群文章采集器 勤俭持家,省钱 90%!我是这样做的...

优采云 发布时间: 2022-07-08 19:51

  站群文章采集器 勤俭持家,省钱 90%!我是这样做的...

  (给程序员零距离加星标,了解项目开发.)

  这篇文章主要是记录一下我是如何把个人站点的文件存储资费降低 90% 的。

  服务选择

  我开始写文章大概是三年前,当时有个很现实的问题是不知道图片上传到哪里。

  之前大多数人会把图片托管到新浪图床上,但是新浪图床当时开启了鉴权操作(通过 referer 限制),非新浪站点不会展示图片,虽然可以通过空 referer 的方式绕过,但是也不是长久之计;另外也有人把图片托管到 GitHub Gitee 上,但是受限于网速和容量也不是最优的选择。

  后来经过一番调研,发现其实可以用各大云厂商的文件存储功能实现,资费也不贵。因为看不懂阿里云的文件存储文档,就选择了腾讯云的 COS 文件存储服务。

  存储服务搞定后,就是挑一款顺手的客户端了。市面上有很多的图床客户端:

  名称是否免费是否跨平台应用体积

  iPic[1]

  否

  只支持 Mac

  小

  uPic[2]

  

  是

  只支持 Mac

  小

  PicGo[3]

  是

  基于 electron,跨平台

  非常大

  我这里选择了免费又轻量的 uPic,完美满足我的图片上传需求。

  问题出现

  配置好个人的图床服务后,差不多两年时间都是无感知的,上个月发现今年的流量费用翻倍,于是想着优化一下图片降低一些费用。

  首先分析了一下我的文章教程,其中流量大头是我写的「web scraper 教程[4]」,全网阅读量预估有 80w,其中 80% 的图片请求都会落到我的 COS 源站上,造成流量费用。

  经过排查,目前 COS 流量的主要消耗途径为 3 个地方:

  找到问题后我们就可以逐步优化了。

  优化一:referrer 鉴权

  这个优化比较早,大概使用 COS 几个月后就做了。因为文章发布一段时间后,我就发现很多原创文章都被站群网站「采集」去优化 SEO 了。

  

  这种事情是无法杜绝的,但是对我来说这些站点都会给我的图片 COS 服务造成带宽和资费压力,在权衡利弊后,我决定学习新浪微博图床的做法,限制访问权限:

  开启 referrer 鉴权后,经过观察流量有一定的下降,也多了非常多的 403 错误码,说明拦截还是有效的。但因为处理时间较为久远,我也忘了具体收益了。

  优化二:压缩图片

  referer 优化之后,我就很长时间(大概一年半)没有处理图片了,2021 年年底的时候,我发现买的定量流量包每次到月中就用完了。降低流量占用最快速的方法就是压缩图片了,于是我做了以下工作:

  1.tinify 压缩

  这里我用了 [5] 这个网站,个人认为它的质量最高,而且支持申请开发者 API[6],每个月有 500 张的免费份额,算了一下 COS 上一共 450 张图片,正好在额度内,没什么犹豫的直接开压。

  最后的压缩成果如下:

  压缩前压缩后

  111MB

  75MB

  综合看上去只缩减了 33% 的体积,实际上压缩比要比这个高,大概能省 60% 左右,因为 tinify 不支持 GIF 压缩,而 450 张图里有不少 GIF 图片,所以把数据拉下来了。

  为了控制变量,压缩图片后我放量观察了 1 周,看数据效果还是很明显的,在日请求数(7000左右)不变的情况下,流量消耗下降了 40% 左右:

  看到相关数据后我还想进一步压缩图片体积,于是又做了以下尝试。

  2.gzip 压缩

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线