php-cgi进程cpu负载过高:禁用wordpress定时任务wp-cron.php

php-cgi进程cpu负载过高:禁用wordpress定时任务wp-cron.php,第1张

php-cgi进程cpu负载过高:禁用wordpress定时任务wp-cron.php

本文详细介绍了php-cgi过程中的cpu过载:禁用wordpress策划任务wp-cron.php,大家一定要参考一下。

一、难题叙述

1.19号手动升级到wordpress4.1,24号早上7点看网址的php探针,发现系统软件负载过高,类似于1到1.5之间。

2.虽然这个数值对于双核处理器来说是可以接受的,但是中间负载只有0.2左右,网站访问量也没有突然增加很多,所以肯定是有问题的。

3.eth外网地址总流量一切正常,lo本地流量增长较快。重启系统软件后(中间网络服务器已流畅运行632天9小时25分钟),一小时内总流量2GB。

4.top命令发现php-cgi占用了大量的cpu,大部分时间会在80%到90%之间,占用cpu的时间会更长。

二。解决方案

1.网页搜索:phpcgicpu查找文章内容。

https://www.jb51.net/article/92975.htm

2.更改php-fpm.conf

请求终止超时时间0s更改为30s

request_slowlog_timeout0s更改为三秒。

重启PHP-FPM:/usr/local/PHP/sbin/PHP-FPM重启

3.查询slow.log,发现每个统计分析时间点都有以下提醒。

script_filename=/URLpath/WP-cron.PHP

[0xfcaa950]do_action_ref_array()/URLpath/WP-cron.PHP

4.我想这可能与wp-cron.php有关,所以网络搜索:wp-cron.php正在寻找:

https://www.jb51.net/cms/495321.html

5.所以,找到解决php-cgi进程占用cpu资源导致网络服务器过载的方法:禁用WP-Cron。

写WordPresswp-config.php和add:define('disable_WP_cron',true);

然后/root/lnmprestart重新启动lnmp。

重启cpu后一切正常,URL负载也降低了,slow.log也没有推广新内容。

三。清除可能的原因

1.禁用超级缓存。

一开始感觉hypercache形成的缓存太多很有可能会造成php负载。禁用hypercache软件后,我发现负载不仅没有减少,反而增加了,这表明hypercache不是问题所在,hypercache可以降低php负载。

2.删除eAccelerator

https://www.jb51.net/article/92978.htm

按照本文提示:vi/usr/local/php/etc/php.ini删除文件夹末尾的两行加速,保存重启lnmp,发现问题还在,于是EACelerator的原因也被清除。以后再把EACelerator的设备添加到php.ini中。

3.文件获取内容的问题

https://www.jb51.net/article/28030.htm

https://www.jb51.net/article/92980.htm

参考以上文章内容,ll/proc/PID/fd没有发现异常。

安装yumstrace后(不安装会提醒你不正确:-bash:strace:commandnotfound)

Strace-ppid,类似提醒不正确:poll([{FD=4,events=poll}],1,0)=0(超时)

网页不停闪烁,网络服务器负载剧增。

在几篇文章中都有提到:stream_context_create设置请求超时时间,技术性很强。不知道实际怎么 *** 作,所以不能一意孤行,放弃。

4.php5.2和curl之间的兼容性

解决方法:设置curl请求的超时时间。

curl_setopt($ch,CURLOPT_TIMEOUT,2);

不知道如何实际 *** 作,放弃。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/773958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存