求MYSQL和系统安全高手帮忙解决性能及安全风险问题

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家



小弟所在公司有一个网店,每天访问量不大,却不定期遇到性能问题,导致间歇性停顿,非常烦恼。恳请各位大大出手支援。如果能帮忙找到问题根源,有少量现金答谢。虽然不多,也是一片心意。

环境说明:
网店版本 ecshop 2.7.2 UTF-8版本,有自己的模板,但没有对网店核心代码做改变。
php5.3.6
mysql5.5.13
apache 2.2.19
windows2003 server enterprise edition + SP2
VPS,我的虚拟机为2G内存,4核XEON 5420 CPU

最大访问量,并发约10个IP。 正常应该是5-6个左右。算很小的负荷了。正常时最大访问量时,CPU占用率也不超过10%。内存占用率约1GB。

问题描述:
每天有那么 1-5次突然页面没有任何响应,约1分钟后报错类似的信息,出错的文件名有时不一样:
PHP Fatal error:Maximum execution time of 60 seconds exceeded in D:\www\myshop.V2.7.2_UTF8\includes\cls_template.php on line 243

PHP Fatal error:Maximum execution time of 60 seconds exceeded in D:\www\myshop..V2.7.2_UTF8\temp\static_caches\cat_pid_releate.php on line 5

我设定了每个脚本最长执行时间为60秒,检查了相应的脚本文件,应该都是对数据库操作的部分。同时在系统检测日志发现,每当这个时候,CPU占用率超过80% 。应该是MYSQL数据库突然反应不过来,导致脚本等待超时。一般过数分钟会自动恢复! 但这样给客户感受很差,非常痛苦!

检查了apache的日志基本没有啥报错,检查了mysql日志也没有啥报错,mysql慢查询日志打开,有时发现查询确实很慢(不太懂如何分析),但正常的时候都很快。 php日志主要报错是前面的脚本执行超时。

这个情况持续了一个多月,被老板骂得要死了。。。

另外发现最近3天情况比较特殊,windows2003日志有如下报错:
终端服务器收到大量没有完成的连接。系统可能受到攻击。
错误代码:1006
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
每当出现这个报错时,CPU利用率就飙升,然后出现这个问题。。。是不是有黑客在做攻击??但持续时间比较短,一般不超过5分钟。。。


如果哪位大侠能帮忙看看,不胜感激。小弟qq:457041034

回答:
防黑客应该是 服务器的事情吧? 问问你的服务商,弄个防火墙规则

如果是自己假设的,按个ROS防火墙,呵呵...