php-cgi進(jìn)程cpu負(fù)載過高:禁用wordpress定時(shí)任務(wù)wp-cron.php

一、問題描述
1、19號(hào)手動(dòng)升級(jí)到wordpress4.1,21號(hào)早上7點(diǎn)看網(wǎng)站php探針,發(fā)現(xiàn)系統(tǒng)負(fù)載過高,差不多在1到1.5之間。
2、雖然對(duì)于雙核處理器,這個(gè)值還可以接受,但是之間負(fù)載都只有0.2左右,而網(wǎng)站流量又沒有突然增加很多,所以推定肯定是出問題了。
3、eth 外網(wǎng)流量正常,lo 本地流量增長很快,reboot系統(tǒng)后(之間服務(wù)器已經(jīng)穩(wěn)定運(yùn)行了632天9小時(shí)25分鐘),1個(gè)小時(shí)不到就有了1G的流量。
4、top命令發(fā)現(xiàn)php-cgi 占用cpu很多,大部分時(shí)間都在80%到90%之間,cpu time+ 時(shí)間很長。
二、解決方法
1、百度搜索:php cgi cpu找到文章
http://www.dbjr.com.cn/article/92975.htm
2、修改php-fpm.conf
request_terminate_timeout 0s 改為30s
request_slowlog_timeout 0s 改為3s
重啟php-fpm:/usr/local/php/sbin/php-fpm restart
3、查看slow.log發(fā)現(xiàn),每一個(gè)統(tǒng)計(jì)時(shí)間點(diǎn)里都有如下提示
script_filename = /網(wǎng)站路徑/wp-cron.php
[0xbfcaa950] do_action_ref_array() /網(wǎng)站路徑/wp-cron.php
4、想到可能和wp-cron.php有關(guān),于是百度搜索:wp-cron.php找到:
http://www.dbjr.com.cn/cms/495321.html
5、于是找到php-cgi進(jìn)程占用cpu資源導(dǎo)致服務(wù)器負(fù)載過高的解決方法:禁用WP-Cron
編輯wordpress wp-config.php,加入:define(‘DISABLE_WP_CRON’, true);
然后 /root/lnmp restart 重啟lnmp
重啟之后cpu 占用終于正常,網(wǎng)站負(fù)載也減了下來,slow.log 也不再增加新的內(nèi)容
三、排除可能的原因
1、禁用hyper cache
開始覺得可能hyper cache生成的緩存文件過多引起php負(fù)載,禁用hyper cache插件后發(fā)現(xiàn)負(fù)載非但不降,反而升了,說明:不是hyper cache的問題且hyper cache可以起到降低php負(fù)載的作用。
2、刪除eAccelerator
http://www.dbjr.com.cn/article/92978.htm
依據(jù)這篇文章提醒:vi /usr/local/php/etc/php.ini 刪除文件末尾Accelerator的那幾行配置刪掉,保存重啟lnmp,發(fā)現(xiàn)問題依舊,所以也排除了eAccelerator的原因,之后再重新在php.ini中添加上eAccelerator的配置。
3、file_get_contents的問題
http://www.dbjr.com.cn/article/28030.htm
http://www.dbjr.com.cn/article/92980.htm
參考上邊兩篇文章,ll /proc/PID/fd 沒有發(fā)現(xiàn)異常。
yum install strace 安裝(不安裝會(huì)提示錯(cuò)誤:-bash: strace: command not found) 后
strace -p pid,有類似的提示錯(cuò)誤:poll([{fd=4, events=POLLIN}], 1, 0) = 0 (Timeout)
頁面不停的閃動(dòng),服務(wù)器負(fù)載驟增。
兩篇文章中提到的:stream_context_create 設(shè)置超時(shí)時(shí)間,技術(shù)太差,完全看不懂要如何操作,所以也沒辦法向下進(jìn)行,放棄。
4、php5.2 和curl的兼容問題
解決方法:設(shè)置curl超時(shí)時(shí)間
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
也不知如何操作,放棄。
相關(guān)文章
CyberPanel安裝WordPress并配置偽靜態(tài)規(guī)則
下面教你如何在 CyberPanel安裝WordPress以及配置偽靜態(tài),需要的朋友可以參考下2023-12-27- 這篇文章主要介紹了wordpress無法安裝更新主題插件的解決辦法,需要的朋友可以參考下2020-12-27
WordPress必備數(shù)據(jù)庫SQL查詢語句整理
發(fā)現(xiàn)幾條比較實(shí)用的,適合 WordPress 實(shí)用的SQL語句。于是就趕緊收集分享出來了,需要的朋友可以參考下2017-09-23wordpress在安裝使用中出現(xiàn)404、403、500及502問題的分析與解決方法
wordpress是很多新手站長搭建個(gè)人博客最喜愛的程序,但是最近在使用WordPress的時(shí)候遇到了一些問題,所以想著將遇到問題總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于wo2017-08-11WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法
這篇文章主要介紹了WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法,需要的朋友可以參考下2017-04-04- 這篇文章主要給大家介紹了wordpress自定義上傳文件類型的方法,如WordPress默認(rèn)允許上傳 .exe 后綴名的可運(yùn)行文件,那么我們?cè)趺唇褂脩粼赪ordPress后臺(tái)發(fā)表文章時(shí)上傳 .e2016-12-19
- 大家可能發(fā)現(xiàn)了當(dāng)實(shí)現(xiàn)了前端用戶中心,后臺(tái)控制面板就失去了作用,那么限制其他用戶進(jìn)入后臺(tái)控制面板就很有必要了!那么我們要怎么做呢?通過下面這篇文章分享的方法后,只2016-12-19
WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能
這篇文章主要介紹了WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能,涉及wordpress針對(duì)評(píng)論與郵件的相關(guān)操作技巧,需要的朋友可以參考下2016-10-11WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法
這篇文章主要介紹了WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法,可通過自定義文章類型來實(shí)現(xiàn)任意模版的使用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-10-11WordPress后臺(tái)地址被改導(dǎo)致無法登陸后臺(tái)的簡單解決方法
這篇文章主要介紹了WordPress后臺(tái)地址被改導(dǎo)致無法登陸后臺(tái)的簡單解決方法,簡單分析了后臺(tái)無法登陸的原因與相應(yīng)的解決方法,涉及針對(duì)wordpress配置項(xiàng)的簡單修改,需要的朋友2016-10-11