五月底的時候,我有一個長期乏人問津(包括我自己)的個人網站,突然無預警地被關掉了。
當時寫信去問主機商,才發現原來這個訪客流量始終很低的網站,其實長期消耗著超乎想像大的主機資源,包括CPU與記憶體的佔用,都凌駕在一般虛擬主機方案之上,幾近半專屬主機的程度。
為什麼一個長期乏人問津、訪客流量始終很低的網站居然吃掉近乎半部主機的資源呢?
我不知道。
但,為了復站,只好一方面請主機商幫忙察看資源佔用的問題所在,一方面也開始反覆嚐試、自行清理門戶。
很辛苦的一週過去,我把cron jobs全刪掉,把閒置多時沒用的Drupal砍掉,把站上的部落格平台從Movable Type 4升到5,然後,再跳船到Wordpress、裝上WP Super Cache……
幾近嚐試過所有可能的調校之後,才在主機商所提供的報表裡抓到消耗主機資源的元凶:串聯貼紙。
回想起來,大約在三年前,我曾在Google pages遇到一次頻寬超限,導致四方大德站台紛紛破圖死連結。
那時候,以為只要把圖移到我自己付錢的空間,就能世世代代永保用。
結果,當然完全不是那麼回事。
為了解決主機被串聯貼紙拖垮的問題,只好先開Hotlink protection、改.htaccess來止血,然後把串聯貼紙分別移到hinet送的免費空間以及小海提供的StickerAction服務,並且逐一更新幾篇串聯貼紙文裡的貼圖語法。
包括:
如果你訂閱了本站RSS,應該不難發現這幾篇遠古文章在最近浮浮沈沈的異象。
不過,即使該做的都做了。從cPanel的error log來看,每分鐘幾十次的404找不到串聯貼紙圖,依然秒殺式地在增加主機負載。
網站作了調整,效能卻未見改善的原因,簡單推想應該是:
- 沒有訂閱這個blog的RSS
- 還沒發現破圖
- 發現破圖,但不知道該怎麼處理
於是,最近一有時間就化身為spammer,根據error log的refer,逐一登門造訪使用串聯貼紙的各大部落格或網站,張貼類似以下這樣的訊息:
您好
串聯貼紙已不在原來的位址。
為解決破圖問題,
請隨意到以下網址取得更新版本的貼圖語法:
1. 網摘、引用、連結,不轉載 - http://stickeraction.com/Anti-Parrot
2. 反匿名攻訐 - http://stickeraction.com/anti-anonymous-troller
3. 本站未加入置入性行銷 - http://stickeraction.com/no-placement
4. 請星巴克善待衣索比亞農夫 - http://stickeraction.com/stir-it-up
5. CC 創作共用宣告語法 - http://jas9.blogspot.com/2007/05/cc.html
謝謝。
Jas
效果如何還有待觀察。
現在也只能希望在我下一次關站之前,過去所有曾經使用串聯貼紙的站長與部落格主們,能夠早日參與執行這個串聯貼紙更新計劃。
吃得是流量
就算是PII的主機跑也是絕對沒問題
並且,
也搞不懂為什麼即使移除圖檔,
那些連過來讀取不到的死連結還會吃CPU跟記憶體。
不過,
主機商所提供的數據(參見這張圖表)顯示:
死連結確實最多可以吃掉10%cpu+50%mem
當有http 404的請求時,那Apache服務器處理這些鏈接請求的時候是非常容易,是默認的/?p=xx 結構回覆。
如果開啟了mod_rewrite,在收到每個url請求的時候,Apache都會把這些請求交給博客平台來處理,數量一多,負載就會一直拉高,嚴重時會佔用6~7%的cpu。