| 关键词: 后台 日志 php 登录 正常 分析 论坛 恶意 同事 所以 |
错误描述 同事反应说Discuz登录论坛后台非常慢,时不时出现502错误;好不容易登上论坛,根本无法在后台操作。自己登录后,在后台也是无法操作,卡住不动了。 故障分析 登录服务器,负载正常,但发现php-cgi竟然没有一个在运行。按照以前的经验,有以下几点原因: MySQL慢查询:登录mysql服务器后,执行show full process后,并没有发现查询执行时间长的sql记录,mysql错误日志也没有报错。 重启php-fpm:service php-fpm restart,再次登录后台的时候,操作还是卡,看来不是这个原因。 恶意攻击:通过分析web日志,没有发现恶意攻击的记录。联系硬防客服,抓包分析了一会,没有在数据包中发现恶意数据,不过倒是发现一个ip在3-4秒内访问管理页面,硬防上屏蔽该ip后,后台还是无法访问。 PHP日志分析:在php-fpm的日志中,频繁出现Nov 22 00:09:05.217416 [WARNING] fpm_request_check_timed_out(), line 158: child 23796, script '/data/www/bbs/admincp.php' (pool default) execution timed out (300.099551 sec), terminating 执行脚本文件超时300秒。我对php-fpm.conf 对执行超时限制在300秒,超过这个数字就结束该进程,所以肯定是有什么东西,导致php卡住了。 了解此点之后,通过lsof -n | grep php-cgi | grep /data0/grep -v grep 查找php-cgi停在哪个文件或目录,发现原来停在在discuz日志的目录。 解决思路 将php-cgi故障反应给了同事,经同事研究分析,共享存储,有写入缓慢的现象。如果取消日志写入,登录后台操作,正常,反之,一旦开启,就会像起先那样,后台操作卡住了。所以可以判断问题出在存储的写入缓慢。 检测了存储,整体写入是正常的,检测过程也显示正常,所以怀疑跟文件系统有关。 临时解决方法:将日志目录移到本地服务器,并做好软连接,观察日志是否写入正常。 彻底解决方法:换MooseFS代替NFS。过去的近一年时间,我们一直在逐步将论坛从NFS替换成MooseFS,跑下来非常稳定。可以在对论坛升级的时候执行这一步骤。 作者简介:崔晓辉,网名coralzd,大众网系统管理员,精通网站系统架构、Unix技术。gtalk:[email protected] 本文出自 “晓辉” 博客,请务必保留此出处http://coralzd.blog.51cto.com/90341/733859 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|