如何通过限制 WordPress 心跳 API 来降低 CPU 使用率

2 分钟阅读
2025-09-15
4,286
當您透過下方連結購物時,我會獲得佣金,而您無需支付額外费用。.

對於大多數虛擬主機用戶而言,CPU 使用率存在限制,因此始終建議對網站進行優化。多數用戶使用的是共享服務器,當 CPU 使用率過高時,幾乎所有虛擬主機服務商都會發送通知。

如何通過限制 WordPress Heartbeat API 降低 CPU 使用率 - LikaCloud

將 CPU 使用率控制在較低水平至關重要。WordPress 在 3.6 版本中引入了 Heartbeat API,該 API 負責管理多項功能。

若 API 的 “脈衝” 次數增加,服務器分配給網站的 CPU 調用次數也會隨之增多,最終可能導致網站宕機。

想必您不願看到這種情況發生。很多時候,若您收到通知稱網站向wp-admin/admin-ajax.php發送了大量 AJAX 請求,這就意味着您需要對 WordPress Heartbeat API 進行管控了。

WordPress Heartbeat API 的管理範圍

如何通過限制 WordPress Heartbeat API 降低 CPU 使用率 - LikaCloud

您可能會疑惑,爲何大家都建議限制該 API,它究竟負責管理哪些功能?

  • 監控多作者網站上所有作者的活動狀態
  • 在創建或更新文章時發送 “脈衝”
  • 在文章自動保存時發送 “脈衝”
  • 實時同步電子商務網站的銷售數據
  • 在 WordPress 儀表盤上顯示通知

您或許有過這樣的體驗:當其他作者正在編輯某篇文章時,您能看到其編輯狀態,這一功能正是由 Heartbeat API 實現的。

假設您的網站有 5 位作者,且他們負責不同類別的內容發佈,那麼在此情況下,API 發送的 “脈衝”(即 POST 請求)次數會大幅增加,而這會直接影響 CPU 的使用率。

就在幾個月前,我的虛擬主機服務商告知我,當前的主機方案已無法支撐我的網站運行,建議我升級到雲主機。

要知道,從每月 15 美元的主機方案升級到每月 50 美元的方案並非易事。當時主機客服表示,網站的每日 CPU 調用次數已超出限制,無法繼續維持現有服務。

造成這一問題的根源,正是 WordPress Heartbeat API 發送的 “脈衝” 次數過多。我通過搜索找到了對應的解決辦法。

您需要了解的是,您完全可以控制 Heartbeat API 的運行方式。如果您是網站的唯一作者,且無需查看其他作者的活動狀態,甚至可以直接停用該 API。

如何監控 Heartbeat API

目前尚無直接方法可查看 Heartbeat API 發送 “脈衝” 的精確次數,但您可以通過虛擬主機的 cPanel 查看網站的歷史統計數據。

您可以藉助主機服務商提供的內置工具完成此操作。若您不確定是否有此類工具,可直接諮詢服務商,然後查看 “訪問量最高的 25 個頁面” 統計數據。

如果您發現/wp-admin/admin-ajax.php位列榜首,那就說明問題出在 WordPress Heartbeat API 上 —— 它已耗盡了大量 CPU 資源。

這會阻礙其他操作的正常執行,進而導致網站宕機。要解決此問題,有兩種可行方案:要麼限制 API 的 “脈衝” 次數,要麼將其完全停用。這兩種操作既可以通過插件實現,也可以不借助插件完成。考慮到多數 WordPress 用戶並非技術人員,他們更需要了解適用的插件方案。

使用插件管理 WordPress Heartbeat API

Jeff Matson 開發了一款插件,只需點擊幾下,就能幫助您管理 WordPress Heartbeat API 的 “脈衝” 頻率。

首先安裝並激活 “心跳控制” 插件(假設您已掌握 WordPress 插件的安裝方法)。激活後,進入 “設置 >>Heartbeat Control” 頁面。

在該頁面中,您會看到三個用於覆蓋 API 默認設置的選項。

如何通過限制 WordPress Heartbeat API 降低 CPU 使用率 - LikaCloud

從下拉菜單中,您可以根據自身需求選擇 API 的作用範圍。如果您是網站的唯一作者,可選擇在所有位置停用該 API。

默認情況下,文章編輯頁面的 API “脈衝” 頻率設置爲 15 秒,您需要將其調整爲大於 15 秒的值。設置的數值越大,Heartbeat API 發送 POST 請求的間隔就越長,從而爲 CPU 騰出更多時間來處理其他請求。

正如前文所述,多數專家建議直接停用該 API。僅僅因爲一個 API 而花費數百美元升級主機方案,顯然得不償失。

管理共享主机確實頗具挑戰性,許多用戶常會因此產生額外開銷。即便是一個僅有 500 篇文章的網站,也可能被迫遷移到虛擬專用服務器(VPS)或者云服务器,只爲獲得更多的每日 CPU 調用額度。

使用代碼限制 WordPress Heartbeat API

在 WordPress 主題文件中,functions.php是最爲重要的文件之一。您可以在該文件中添加一段簡單的代碼,以此實現對 Heartbeat API 的限制,其效果與使用插件一致。

不過,很多人更傾向於通過代碼解決這類小問題,而非每次都安裝新插件。畢竟,沒必要爲了一點小事就額外安裝插件。

因此,直接複製粘貼以下代碼是更優選擇。假設您已掌握functions.php文件的編輯方法;若您尚不瞭解,可按照以下步驟操作:

  1. 打開 cPanel,找到並點擊 “文件管理器”
  2. 定位到wp-content文件夾並打開
  3. 進入themes文件夹
  4. 選擇您當前使用的主題文件夾,在其中找到functions.php文件

打開functions.php文件進行編輯,粘貼以下代碼:

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

保存文件後,操作即完成。

部分用戶在打開文件管理器後可能會感到困惑。若您在同一臺主機上運行多個網站,需確認目標網站的數據存儲位置。

想必您聽說過public_html文件夾 —— 您的網站文件就位於該文件夾中,若您使用的是寶塔管理面板,可以網站列表直接進入網站目錄。

若您能訪問網站的後臺管理界面,需先通過緩存插件清除網站緩存,然後檢查網站運行狀態。

若網站一切正常,那麼恭喜您,您已成功完成對 WordPress Heartbeat API 的限制配置。

希望您已理解網站優化的重要性。許多用戶抱怨網站加載速度慢、CPU 使用率過高,而密切關注 Heartbeat API 的運行狀態是解決此類問題的關鍵。若您今後遇到類似問題,不妨嘗試限制或停用該 API。

祝您使用 WordPress 愉快,擁有穩定的服務器運行時間。

優質 WordPress 主機服務商推薦

标签: