昨天网站虚拟主机提供商发送提醒邮件说我的网站“如鹏网”流量超标了,很奇怪,上个月流量用了一半多一点儿,这个月网站访问量并没有明显的上升,怎么会这个月才过20天就流量超标了呢?到网站后台查看流量报表才发现agent.php消耗了31%的流量,将近1/3呀。

agent.php就是为 “如鹏助手” 提供数据的api页面,默认如鹏助手每10秒钟就会向这个页面请求最近50条新帖和50条新回复。当时开发的时候也考虑过这个功能会不会对网站流量有非常大的消耗,但是当时没有进行科学的计算,想当然的认为不会。但是现在仔细一算,50条新帖、50条新回复的信息估计有100K,那么每分钟请求6次,假设每天监控15小时,每个月30天,那么一个月的流量就是100K*6*60*15*30=16200000k=16200M= 16.2G,恐怖呀!!!网站每月限定流量是45G,正好是16.2/45=36%,估算和报表中的31%差不多。

因为网站流量已经超标,因此必须买额外的流量才能保证网站正常运行,10G的流量一个月20元,买流量就要买足剩下10个月的,10个月就是200元,本来这部分花费是可以避免的。当初花几分钟算一下就不至于犯这种错误!

不要再拍脑袋,要科学的计算!!!!!!!!!

为了减少如鹏助手流量消耗,我做了如下的优化:
1、agent.php不再传输全部的帖子内容,帖子正文只传输前50个字。
2、去掉agent.php传输帖子中的空格等无意义字符。
3、因为如鹏网现在发帖量不大,没必要每次显示50条最新贴,因此改为只传输10条最新贴。
4、在agent.php头部加入“Ob_Start('ob_gzhandler');”,也就是启用GZip压缩网页,减少网页的流量传输。
5、降低如鹏助手的刷新频率,由10秒刷新一次改为60秒刷新一次
经过本次优化,10条新帖、10条新回复的信息估计有6K,6K*1*60*15*30=162000K=162M=0.162G。这样流量消耗基本可以忽略不计了。

不要再拍脑袋,要科学的计算!!!!!!!!!