开发者社区> 问答> 正文

[云代维案例]由Discuz论坛插件导致云主机CPU 100%的解决过程

客户遇到的问题如下:

查看top,命令结果如下:

检查过程中经常出现2个高CPU的PHP进程,但是截这张图的时候只有一个。

再来看下php-fpm的配置:

在这里发现了一个坑死人不偿命的配置,PHP进程最高只能有2个(截图的时候已经被我修改为了20,修改之前是2),所以当这两个PHP进程都出问题的时候,再就没有PHP进程干活了,于是网站就打不开了。

那么来看看PHP进程到底发生了什么问题:

PHP进程进入到了死循环,而且这个错误信息是由于网络连接导致的。

再来看看PHP到底在连接哪台主机:

可以看到云主机上的PHP进程正在请求220.181.136.41的80端口。

再来看看这个IP到底是哪路神仙:

可以发现,这是sinaapp云平台的IP。

于是到网站根目录里grep查找sinaapp,找到了这个程序:

来看看addon.sinaapp.com的IP:


看看这个地址是干什么的:

跟客户确认:

至此问题已经查清,是由于这个验证插件在addon.sinaapp.com上的接口没有正常运行,导致的本地PHP出错并进入死循环。

对PHP开发者的一点提示:在php5.2.x版本中使用curl方式抓取网络内容超时会导致CPU飙升,但是在5.3+版本中已经修复了这个问题,抓取超时对CPU几乎没有影响。

PHP抓取远程内容最好的方式是curl,不过很多程序可能是出于兼容性的考虑,使用了fsockopen方式来抓取远程内容(curl需要模块支持,虽然大多数环境都已经安装,但不排除少量的没有安装,fsockopen则是PHP内置的函数)。fsockopen超时时在不同PHP版本中的CPU消耗没有测试过,有兴趣的可以研究下。

原创文章,转载请以超链接方式注明出处:http://www.yundaiwei.com/post/269.html

展开
收起
云代维 2014-12-17 13:51:37 15668 0
15 条回答
写回答
取消 提交回答
  • 你是我偶像
    2014-12-27 12:15:05
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    赞一个
    2014-12-26 16:38:36
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    我看懂了,但是我却迷糊了,看懂了意思,却被字母绕晕了
    2014-12-25 00:31:47
    赞同 展开评论 打赏
  • 我的网站用curl和php5.2,做个标记
    2014-12-19 10:37:55
    赞同 展开评论 打赏
  • 哇塞这都可以.NB
    2014-12-18 23:35:59
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    掉转头
    2014-12-18 15:37:09
    赞同 展开评论 打赏
  • 服务器之家 的技术很好,就是太忙不注意休息
    2014-12-18 14:50:55
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    相当牛B的排查
    2014-12-18 01:03:19
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    哇塞这都可以.NB
    2014-12-17 23:43:06
    赞同 展开评论 打赏
  • 对高手只有羡慕嫉妒恨了,啥时候有这么一个伙伴,天天就舒心多了
    2014-12-17 23:21:12
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    楼主有在阿里云的代维供应商名单内吗?
    2014-12-17 18:03:20
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    你是高手啊
    2014-12-17 15:28:20
    赞同 展开评论 打赏
  • 支持服务器之家
    2014-12-17 15:01:34
    赞同 展开评论 打赏
  • Re由Discuz论坛插件导致云主机CPU100%的解决过程
    是杠杠的
    2014-12-17 14:19:01
    赞同 展开评论 打赏
  • 楼主技术过硬
    2014-12-17 14:10:44
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
RDS SQL Server CPU高使用率性能优化 立即下载
阿里云栖开发者沙龙PHP技术专场-静态扫描为你的项目上线保驾护航-周梦康 立即下载
如何高效的制作主机次时代游戏 立即下载