星期日, 12月 28, 2008

Smokeping 啟動速度很慢的問題

SmokePing 啟動速度緩慢的問題終於搞定,原因在於啟動時會掃一次列表裡所有的 host,對這些 hostname 檢查是否存在,不存在的 hostname 會丟出警告,但並不會因此就不檢查。這個檢查也是造成網頁介面很慢的原因。

dirty hack 的解法很簡單,把 /usr/local/smokeping/lib/Smokeping.pm 裡檢查的 code 直接註解起來就可以了。有 getaddrinfo() (檢查 IPv6 的部份) 與 gethostbyname() (檢查 IPv4 的部份) 兩個地方要修正,修完速度就變得很快了。