[WordPress] 主機CPU 使用率過高?試試外掛Heartbeat Control
×

[WordPress] 主機CPU 使用率過高?試試外掛Heartbeat Control

我收到主機商的關切信,怎麼辦?

在我管理的網站中,其中一個使用的是新加坡主機SiteGround,它是WordPress認可的主機商,也是網路評價相當好的一間。詳情請看另外一篇文章,〈新加坡主機SiteGround心得分享〉

信件的內容如下圖,大意是「你的主機CPU好像有點過勞喔,已經達到上限值的90%。如果你繼續這樣慘無人道的操主機,是不會被勞檢啦,但可能會被限制流量,導致網站無法進入。建議你快點解決這個問題,不想解決的話也可以,就花點錢嘛,升級方案,上下疏通一下。」

信件的內容如下圖,大意是「你的主機CPU好像有點過勞喔,已經達到上限值的90%。如果你繼續這樣慘無人道的操主機,是不會被勞檢啦,但可能會被限制流量,導致網站無法進入。建議你快點解決這個問題,不想解決的話也可以,就花點錢嘛,升級方案,上下疏通一下」

如果你使用的主機是虛擬主機(Virtual Host),又叫共享主機(Shared Host),用人話說,就像是一棟公寓,每個網站都是公寓裡面的一間獨立套房。可能你的某個鄰居很好客,朋友很多,所以每天都會有很多很多人來找他,人多到把大門堵塞,連住戶都無法進出,這種鄰居就叫作壞鄰居。因為壞鄰居會影響其他住戶的權益,所以他們會被管理員,也就是主機商關切。

沒錯,我是那個壞鄰居。

但有些時候,把大門堵住不一定代表你有很多客人,你可能只是一個人瞎忙,打算把一堆雜物搬進房間,但你很懶,所以決定把東西先堆在大門口,然後一個人占住電梯慢慢搬。你還是一樣沒朋友,但你跟朋友很多的人一樣癱患了交通要道。

不管是人為操作問題、WordPress系統問題,或是遭受網路攻擊,都有可能導致CPU使用率過高。
在SiteGround的限制中,每一天的CPU用量標準為40000,我在13:00左右因為手賤與心血來潮,刪除了「媒體」中一大批「尚未關聯」的圖片,導致CPU使用率直接爆表,如下圖。

[WordPress] 主機CPU 使用率過高?試試外掛Heartbeat Control

那什麼是WordPress系統問題呢?讓我們說說ajax。

用人話說ajax

過去,如果一個網站有1000篇文章,這個網站通常會使用頁碼作區隔。為什麼?因為如果把1000篇文章塞在同一頁,並在使用者點進網站後,暴力地把這1000篇文章一次丟出來,這個方式是不經濟的,會讓網站跑很慢不說,使用者也不太可能全部看完。然而,點擊頁碼一直跳頁也不是個友善的作法,很煩,所以有了ajax的動態載入。舉例來說,當我們在Facebook把塗鴉牆滑到最底部時,會出新的內容,這就是動態載入的一個經典案例。ajax能做的事情不只是動態載入內容,像是不跳頁就送出表單也是ajax。

到目前為止,ajax看起來非常完美。事實上,它也有一些問題,像是ajax一直默默執行一些雜事,甚至占了大量主機資源,但你卻完全沒發現。以WordPress來說,最有可能的就是系統內建的程式Heartbeat,而Hearbeat Control做的事情就是控制它。

Aron

以前用MIX這個名字在網路打滾,後來改為Aron。工業設計系畢業,曾任職知名品牌行銷企劃,做點設計,寫文案也寫網站;目前擔任零售業數據分析師。最近開始玩截拳道、單輪車和Python量化投資。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。