事情起因,手头上的一个站群项目,每次被抓网站地图的时候都会查询数据库。
蜘蛛多了性能消耗的大,于是把地图查询做成了预缓存。(这样性能消耗降低最小。)
域名套了 cf 的 cdn,每秒请求 200 次消耗的流量才 1m 左右。
把地图查询方式做出改变后,又因为其他原因套了一层反向代理来分流。
结果每秒请求 160 次左右,消耗流量 12m 左右,算下来 1 天消耗流量 1t 左右。
服务器还是双向流量,反向代理的服务器跑 15 天就会停机,主服务器后期蜘蛛增加 1 个月都跑不到。
找原因是因为蜘蛛抓网站地图比较频繁,然后一个请求 120k 左右。
主服务器 - 反向代理 - cf 的 cdn 请求下来 gzip 根本没有生效。只有 cf 的 cdn 到客户端 gzip 才生效。
导致服务器与服务器之间通信消耗了太多流量,这个时候必须拿出万能的 Google 找到了解决办法。