WordPress在2013年推出了Heartbeat API(國內(nèi)可能也叫做 心跳 API),該功能可讓您的瀏覽器自動與服務器通信。但是,此功能有兩個缺點。
如果使用共享主機計劃,則需要仔細查看服務器的CPU使用率。這是因為某些托管公司可能會在您超出限額時暫停您的帳戶。
在這里,我們將討論為什么WordPress Heartbeat API是引起CPU占用過高的主要原因所在。
什么是WordPress Heartbeat API?
WordPress Heartbeat API使用瀏覽器和服務器之間的AJAX調(diào)用提供通信協(xié)議。
顧名思義,API將在接收到數(shù)據(jù)后發(fā)送連續(xù)脈沖并觸發(fā)事件(或回調(diào))。此功能可幫助您在服務器和WordPress儀表盤之間同步所有數(shù)據(jù)。
Heartbeat API 的作用值我們關(guān)注。例如,當您從編輯器創(chuàng)建/編輯文章時,它提供了定期自動保存文章的功能。
在協(xié)作式WordPress網(wǎng)站中,它具有文章鎖定功能,以防止您編輯其他用戶正在處理的文章。如果您使用商城插件,此API也有助于顯示您網(wǎng)站上發(fā)生的銷售額。
為什么要限制WordPress Heartbeat API?
雖然具有自動保存功能和實時數(shù)據(jù)通知功能是有益的,但在特定情況下可能是有害的。
Heartbeat API使用/wp-admin/admin-ajax.php文件發(fā)送AJAX請求(POST請求)。每個執(zhí)行PHP文件的請求都會占用服務器上的CPU時間。這可能會導致將大量請求發(fā)送到托管服務器,從而導致較高的CPU使用率。
如前所述,對于擁有共享托管計劃的網(wǎng)站管理員來說,這可能是個問題。當您達到配額限制時,高CPU使用率最終會導致帳戶被暫停。
停用 Heartbeat API 之前應考慮的事項
如果您想完全停止Heartbeat API,則需要三思而后行。這不是因為您不能做到這一點,而是不切實際。
沒有WordPress Heartbeat API,如果您忘記單擊“保存草稿”按鈕,則您在文章中所做的所有更改都將丟失,并且您將不能再使用WordPress中的修訂功能。
如果安裝了需要使用Heartbeat API的插件,那些插件也將無法在您的站點上顯示實時通知和信息功能。
但是,如果您一個人工作,而所有這些功能對您來說都沒什么大不了,那么您可以繼續(xù)停用WordPress Heartbeat API。否則,您可以考慮控制API的執(zhí)行頻率。
如何通過插件限制WordPress Heartbeat API?
您可以使用Heartbeat Control插件來控制?Heartbeat API多久發(fā)送一次回調(diào)到服務器。
安裝并激活插件后,轉(zhuǎn)到設(shè)置->心跳控制設(shè)置。在這里,您可以為API設(shè)置特定規(guī)則。
- 心跳行為?–允許您啟用心跳,禁用心跳或修改心跳
- 位置?–確定要從哪個區(qū)域控制API,它為您提供三個選項:WordPress儀表板,Frontend和Post Editor
- 頻率?-您為每個確定的位置允許的回調(diào)次數(shù)。取值范圍是15到300秒

在示例中,我們將Post Editor中Heartbeat API函數(shù)的頻率限制為178秒。如果您有多個作者在同一WordPress網(wǎng)站上工作,這是一種更實用的方法。
此插件還允許您完全完全禁用WordPress Heartbeat API。您可以通過為“?心跳行為”選擇“禁用心跳”來實現(xiàn)。
如何在沒有插件的情況下完全停止Heartbeat API?
您還可以通過將此代碼段添加到當前主題的functions.php文件中來停用Heartbeat API?。
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
請記住,如果您是唯一使用該網(wǎng)站的人,并且不需要安裝使用此API的其他插件,就可以這樣做,否則,請不要停用。
從WordPress控制臺中,轉(zhuǎn)到外觀->主題編輯器。確保您正在編輯網(wǎng)站的的激活主題。從右側(cè)導航菜單中單擊主題功能(functions.php)。在打開<?php標記之后的右上方粘貼代碼段,然后點擊更新。

就是這樣,現(xiàn)在您已經(jīng)成功禁用了站點上的WordPress Heartbeat API。
總結(jié)
您已經(jīng)了解了WordPress Heartbeat API及其為您的網(wǎng)站提供的功能。盡管這是有好處的,但在共享主機環(huán)境中,如果您處理不當,可能會引起CPU占用過高的問題。為了減少服務器上的CPU使用率,您可以使用插件或?qū)⒋a手動添加到functions.php文件中來控制API或完全禁用它。




