昨天網站虛擬主機提供商發送提醒郵件說我的網站“如鵬網”流量超標了,很奇怪,上個月流量用了一半多一點兒,這個月網站訪問量并沒有明顯的上升,怎么會這個月才過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。這樣流量消耗基本可以忽略不計了。
不要再拍腦袋,要科學的計算!!!!!!!!!