什么是WordPress Heartbeat API以及如何對其進行管理

WordPress在2013年推出了Heartbeat API(國內可能也叫做 心跳 API),該功能可讓您的瀏覽器自動與服務器通信。但是,此功能有兩個缺點。

如果使用共享主機計劃,則需要仔細查看服務器的CPU使用率。這是因為某些托管公司可能會在您超出限額時暫停您的帳戶。

在這里,我們將討論為什么WordPress Heartbeat API是引起CPU占用過高的主要原因所在。

什么是WordPress Heartbeat API

WordPress Heartbeat API使用瀏覽器和服務器之間的AJAX調用提供通信協議。

顧名思義,API將在接收到數據后發送連續脈沖并觸發事件(或回調)。此功能可幫助您在服務器和WordPress儀表盤之間同步所有數據。

Heartbeat API 的作用值我們關注。例如,當您從編輯器創建/編輯文章時,它提供了定期自動保存文章的功能。

在協作式WordPress網站中,它具有文章鎖定功能,以防止您編輯其他用戶正在處理的文章。如果您使用商城插件,此API也有助于顯示您網站上發生的銷售額。

為什么要限制WordPress Heartbeat API?

雖然具有自動保存功能和實時數據通知功能是有益的,但在特定情況下可能是有害的。

Heartbeat API使用/wp-admin/admin-ajax.php文件發送AJAX請求(POST請求)。每個執行PHP文件的請求都會占用服務器上的CPU時間。這可能會導致將大量請求發送到托管服務器,從而導致較高的CPU使用率

如前所述,對于擁有共享托管計劃的網站管理員來說,這可能是個問題。當您達到配額限制時,高CPU使用率最終會導致帳戶被暫停。

停用 Heartbeat API 之前應考慮的事項

如果您想完全停止Heartbeat API,則需要三思而后行。這不是因為您不能做到這一點,而是不切實際。

沒有WordPress Heartbeat API,如果您忘記單擊“保存草稿”按鈕,則您在文章中所做的所有更改都將丟失,并且您將不能再使用WordPress中的修訂功能。

如果安裝了需要使用Heartbeat API的插件,那些插件也將無法在您的站點上顯示實時通知和信息功能。

但是,如果您一個人工作,而所有這些功能對您來說都沒什么大不了,那么您可以繼續停用WordPress Heartbeat API。否則,您可以考慮控制API的執行頻率。

如何通過插件限制WordPress Heartbeat API?

您可以使用Heartbeat Control插件來控制?Heartbeat API多久發送一次回調到服務器。

安裝并激活插件后,轉到設置->心跳控制設置。在這里,您可以為API設置特定規則。

  • 心跳行為?–允許您啟用心跳禁用心跳修改心跳
  • 位置?–確定要從哪個區域控制API,它為您提供三個選項:WordPress儀表板FrontendPost Editor
  • 頻率?-您為每個確定的位置允許的回調次數。取值范圍是15到300秒

在示例中,我們將Post Editor中Heartbeat API函數的頻率限制為178秒。如果您有多個作者在同一WordPress網站上工作,這是一種更實用的方法。

此插件還允許您完全完全禁用WordPress Heartbeat API。您可以通過為“?心跳行為”選擇“禁用心跳”來實現。

如何在沒有插件的情況下完全停止Heartbeat API?

您還可以通過將此代碼段添加到當前主題的functions.php文件中來停用Heartbeat API?。

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
    wp_deregister_script('heartbeat');
}

請記住,如果您是唯一使用該網站的人,并且不需要安裝使用此API的其他插件,就可以這樣做,否則,請不要停用。

從WordPress控制臺中,轉到外觀->主題編輯器。確保您正在編輯網站的的激活主題。從右側導航菜單中單擊主題功能(functions.php)。在打開<?php標記之后的右上方粘貼代碼段,然后點擊更新

就是這樣,現在您已經成功禁用了站點上的WordPress Heartbeat API。

總結

您已經了解了WordPress Heartbeat API及其為您的網站提供的功能。盡管這是有好處的,但在共享主機環境中,如果您處理不當,可能會引起CPU占用過高的問題。為了減少服務器上的CPU使用率,您可以使用插件或將代碼手動添加到functions.php文件中來控制API或完全禁用它。

倡萌

一個文科IT宅男,喜歡折騰WordPress和被它折騰 ^_^

暫無評論

發表評論