最近有个大哥在用小旋风蜘蛛池站群,突然网站cpu就飙到了100%,服务器卡得不行,服务器配置是8核6G的服务器。一开始我以为是站点搭建太多、功能开得太杂导致的,但后来发现不是这么回事~
分析了一下服务器进程,造成cpu100%的问题是php导致的,也就是cpu负荷满了,导致服务器秀逗了
在window服务器,我们在终端(cmd)输入netstat -anpo | grep “php-cgi” | wc -l 然后回车就能看php-FastCGI的情况。
如果是linux服务器,我们在xshell或者宝塔的终端,输入top命令,然后回车,会出现各个进程的使用情况。
首先找到www用户的cpu占用值,计算出当前每个php进程平均占用cpu值是多少,就以这个大哥服务器情况来说,每个约为 1.5%。据此可以估算最大进程数:100/1.5=66,也就是66个进程就会达到cpu负荷,不过,实际建议将进程数调整到55~65之间就比较合适了。
cpu通常是多核数的,所以我们可以改php的配置,来增加php进程数。可以将php进程数乘以6左右,也就是40*6=240个进程。调整后如果降下来没问题就ok,如果还是有问题还要继续修改。
就下来就是修改php配置了,我们以宝塔面包,点击【软件商店】,根据你小旋风蜘蛛池站群搭建所匹配的php版本,修改【配置】

设置max_children配置项为我们所说的进程数就行,然后max_spare_servers配置项设置为max_children的60%-80%就可以解决了。也可以升级一下php版本。