WordPress 很忙
使用 WordPress 架站的你知道它每天都很忙嗎?在忙什麼呢?
當然是你交辦的事囉!在你看到這篇文件之前,應該不知道 WordPress 有一個 Cron Job 的機制來處理這些排程的工作吧?
高登本來也不是很在意 WordPress 排程這件事,只是會在主機的 Apache Log 裡面看到,主機定期就會執行在根目錄下面的 wp-cron.php 這支程式,那這支程式到底在作些什麼事呢?
話說某企業官方部落格因為耗用太多資源而被國內某大主機商停權,而就在幫他們處理的過程當中發現了幾個有趣的現象:
- 主機商丟來的的 MySQL slow query log 裡面指出網站的一支「nggallery.php」程式造成大量的 MySQl 資料庫查詢而佔用太多資源!但是...翻遍主機後台及檔案就是找不到這個 NextGEN Gallery?!正好又逢農曆七月到了,莫非...
- 因為被停權了,所以就先暫時搬到我的 VPS 抓蟲(對方擺明就是要你搬走,隨便掰一個理由就趕人),在檢查網站檔案的時候,發現根目錄的 wp-cron.php 被更名了!也就是有人懷疑是這支程式搞的鬼所以把它廢了!
- 但是就算沒有排程工作網站有時還是會耗用許多資源
所以大家才有緣看到這個 WP-crontrol 外掛的介紹
WP-crontrol 排程管理外掛
請由 WordPress 後台搜尋及安裝這個外掛,網址我就不貼了
裝好啟用之後,請到左邊欄[工具]找到這個 Crontrol 外排的設定頁面
這個排程表有五個欄位:
- Hook Name: 排程的名稱
- Argunents: 執行的參數
- Next Run: 下次執行時間
- Recurrence: 排程週期
- Actions: 你可以執行的作業:
- Edit: 編輯
- Run Now: 馬上執行
- Delete: 刪除排程
這些排程大部份可以由名稱猜到它的功用,例如:
- wp_version_check: 檢查 WordPress 版本
- wp_update_themes: 檢查版型是否有更新
- wp_scheduled_delete: WordPress 定期清理
- wp_scheduled_auto_draft_delete: WordPress 定期清理自動草稿
- wp_db_backup_cron: WordPress Database Backup外掛的排程
- wp_update_plugins: 檢查外掛是否有更新
- hyper_clean: Hyper Cache 快取外掛的定期清理
如果你有不知道幹什麼的排程名稱也歡迎提出來大家研究
如果你有要自己新增的排程也可以用這個外掛來新增
安裝了這個外掛之後,發覺有一些外掛在移除的時候忘了把排程也刪除,真是糟糕!如果你也有這種外掛的話正好可以清理一下門戶
如果你的網站明明就沒什麼人瀏覽,卻又耗很多資源的話,那這個排程是你應該要檢查的項目
但是上面提到的網站耗用資源的原因並不是因為這個排程表,聰明的你應該想到既然 wp-cron.php 都被改檔名,怎麼可能會是排程引起的呢?而那個網站的問題一般虛擬主機租用戶可以解決的(除非你的主機商願意為你增設防火牆規則)
如果網站達到一定的規模就要有主機更上一層樓的心理準備吧!
至於 WordPress 的排程最好不要用前面天才的方法停掉,因為這些排程都是必要的,甚至最基本的排程發文也是利用它來達成的
hi, thanks for your useful post on wp-cron.php
Bill sending from Mainland, I can't type traditional Chinese, so i gotta use this crazy English~, -_-
看得懂就好,歡迎!
WP-crontrol真的不错,以前用的是WP-Cron Dashboard,好像沒有這個好。
高登兄您好,想請教一下,最近升級了woocommerce購物外掛及換了新的佈景主題後,
不知為何在虛擬主機後台查看,發現cpu使用率飊得很高,
這購物外掛已經使用很久了,只是更新及換主題..
平常也沒有什麼人氣,查看主機後台訪客記錄及流量記錄也沒特別異常,
也有習慣在做資料庫優化的動作,我的wordpress也有裝Hyper Cache...
但我現在是完全沒有頭緒要從何處知道是哪個環節有問題...
不知可否給小弟一個意見該從何著手找出問題呢?
或者有沒有方式能得知wordpress的某個外掛或頁面使用率過高呢?謝謝
你去主機後台的檔案總管找 error_log 的錯誤記錄檔,還有 cPanel 也有很詳細的 error log 可以看
這些可能都是出問題的蛛絲馬跡
如果這些找不到,那就只有請主機商協助了,不過根據我的經驗這種的網站很快就會被停權
謝謝高登兄,目前已發現是模版的因素造成,換掉就正常了,
另外,高兄之前有提到的vps,其實小弟也想嘗試,
像linode初級方案20美元都還可接受,
但最大的障礙是使用難度(相信也是很多人卻步的原因),
不知道有沒有vps或類似架購是有現成後台,像使用一般虛擬主機一樣,
但使用彈性(如流量,cpu使用率)比一般虛擬主機還要高的呢?
KVM VPS買 1GB RAM 以上,再加上安裝 cPanel 後台管理系統(一個月US$15),這樣子使用起來就跟虛擬主機一樣方便,而資源又可以不怕受別人的影響
有的 VPS 會幫你安裝 cPanel,不過有一個叫 WHM 的主機後台你還要學習如何用來開帳號、安裝各種模組等等使用方法