避免DNSPod监控消耗大量流量方法
昨天萌萌的网站悲剧地超了流量(用掉了12G多),于是帮他分析了一下Apache日志。因为是cPanel的日志,下载下来很小,才8M多一些(要想Kaijia的Apache日志一个礼拜起码50M),打开了一看发现清一色的全部都类似于:
IP.IP.IP.IP – – [24/Jan/2014:20:13:17 +0800] “GET / HTTP/1.0” 200 133938 “-” “DNSPod-Monitor/1.0”
Kaijia一开始觉得特奇怪,没有发现异常的但为什么会消耗12G多的流量呢,于是分析了一下IP,发现有6个IP地址从共发送了近9万次”GET / HTTP/1.0“请求,而且这些请求的UA都是DNSPod-Monitor/1.0,于是Kaijia查了一下DNSPod官方提供的监控点列表,发现这6个IP都在此列表上。于是Kaijia得出了一个很坑爹的结论,DNSPod监控吃掉了12G流量中的绝大部分!
仔细研究发现这个结论非常站的住脚,假设9万次请求吃掉了12G的11G,那么每次请求吃掉了大约128K,而Kaijia通过下载获得的被监控页面的大小是131K左右,这两个数据相接近。
至于为什么会有9万次请求,可以这样计算,DNSPod的监控频率是3分钟一次,那么每个月一个节点的请求次数是大约15000次,免费的DNSPod套餐提供的是从3个节点监控,这样每月就有45000次了。而老版的DNSPod现在还能设置6个节点,这样一个月就差不多是9万次。
综上得出结论,要谨慎使用DNSPod监控。当然避免DNSPod监控消耗大量流量的方法有很多,包括调低监控频率,但这样同时会降低监控的可靠度。最经济的方法是缩小被监控页面的大小,方法很简单,新建一个空白页面,然后将DNSPod监控的指向该页面。以Kaijia.me为例,Kaijia的Apache服务器中有如下一段设置:
1 2 3 4 |
<VirtualHost *:80> DocumentRoot "/var/www/default" ServerName hello.kaijia.me </VirtualHost> |
新建了一个hello.kaijia.me的域,设置中的/var/www/default文件夹下放置了一个index.html,设置DNSPod监控此域后,每次DNSPod请求只会产生大约1K的流量,一个月下来流量不会超过50M,非常经济。
因此设置DNSPod监控一定要注意被监控页面的大小,因为DNSPod只监控页面是否可以打开,不会监控网速,因此设置被监控页面尽量小是必要的。
评论