WordPress網站主機CPU 使用率過高?試試外掛Heartbeat Control

目錄

    原始文章

    WordPress網站主機CPU 使用率過高?試試外掛Heartbeat Control


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

    在我管理的網站中,其中一個使用的是新加坡主機SiteGround,它是WordPress認可的主機商,也是網路評價相當好的一間,但在2020年年底,SiteGround宣佈停止在部份國家的服務,其中就包括台灣。已經使用SiteGround的網站暫時不會受影響,可以繼續使用到合約結束,但新用戶就沒辦法使用。

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

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

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

    沒錯,我是那個壞鄰居。

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

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

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

    用人話說ajax

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

    到目前為止,ajax看起來非常完美。事實上,它也有一些問題,像是ajax一直默默執行一些雜事,甚至占了大量主機資源,但你卻完全沒發現。以WordPress來說,最有可能的就是系統內建的程式Heartbeat,而解決方式是安裝Heartbeat控制的外掛,如Heartbeat Control。附帶一提,像是SiteGround自己開發了Cache程式,裡面就包含了Heartbeat控制的功能,代表SiteGround使用者不需要額外包含外掛啦。



    推薦文章

    Aron

    搭載商業思維的資料科學家,工業設計系畢業,曾任職知名品牌行銷企劃。下班後寫機器學習模型,寫網站,也寫文章。興趣是把Side Project當成創業題目來玩,把人生當成遊戲破關。

    facebook telegram

    發佈留言

    • * 表示必填欄位
    • 您填寫的電子郵件不會被公開
    • 請確認您的電子郵件正確無誤,當您的留言收到新的回覆時,我們會寄送通知信件給您

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