CentOS7 php-fpm内存占用问题排查

原文链接:lrach.com

原文:lrach.com

台部落无耻盗文!

 

致远网上的资料比较少。我接触这个系统也已经快两年多了。许多问题,特别是流程设置、表单设计、基础数据等问题,虽然致远给的官方手册上面有涉及,但是案例并不多。所以我决定把普遍公司流程设置上都会遇到的坑过一遍,作为二次开发之外的另一个专题共享出来,也算是总结一下自己的工作。

这次先说备份。备份这个坑我也是趟了不少。他们系统安装完毕之后,A8之后的版本均有一个“致远服务”的软件。这个软件可以实现备份,但是这个备份会自动重启系统。下面我分点具体来说。

复制拷贝安装目录

致远OA系统的备份分为两部分。附件+SQL备份。这两者如果都有备份存档,即可保证在系统需要重装的情况下,恢复到备份前的状态。

但是我强烈建议,如果你是新装或者是刚刚接手系统。马上把OA系统的文件夹复制拷一份出来另行存储。

这个的用处主要用在,有时候你会发现这个OA系统的文件夹内,会莫名其妙多出一些文件。而这些文件很可能是因为OA系统的漏洞,黑客上传的木马文件。包括但不限于致远本身的越权访问BUG、apache的一些漏洞等。虽然官方对此有提供补丁包。但是如果你是新装或者接手运维,你是不知道你目前已经打了哪些补丁了。你能做的,就是先备份一次,并定期看一下OA安装文件夹的文件最新日期。如果有发现有异样,先看是否是与拷贝出来的一致,不一致并且这个文件夹并非是日志内的话基本就能确认有漏洞。需要联系官方了。

SQL备份

此前说过,官方的备份功能会导致系统重启。重启就有很多运维上的未知,比如重启是否正常启动、重启的时候是否会导致用户正在填写的表单丢失等等问题。所以官方的备份功能我并不是很推荐频繁使用。我这边主要是采用SQL备份的功能。我这边主要是用Navicat等数据库工具,或者使用命令行也可以。直接把整个数据库的结构与数据均备份下来。

SQL备份除了表单中的附件之外,所有的设置、表单、数据均能覆盖到。我一般用来需要进行重大改动或日常备份。

官方致远服务备份

不知道是我用的有问题还是官方的旧版本有问题。这个致远服务每备份一次之后就会新打开一个,后续就会变得非常多

 

打开致远服务-数据库服务,即可看到官方的备份工具。请注意,这个备份功能会导致系统重启。生产环境使用该功能需要谨慎使用。

我一般是用做休息日进行备份。一周一次左右(请注意备份完成之后重启不起来的问题,特别是有较多二开功能的系统)

 

其中数据库安装目录为你数据库的目录,有部分情况下,这个功能会不认目录。比如简易安装的MySQL。均会提示未找到数据库目录。所以新安装的时候最好先看一下认不认目录。其余的按需求设置即可。

这个功能比较好的地方是它会同时备份SQL文件与附件文件。等于是一个OA系统的完整备份了。

如果需要恢复的时候,安装完OA之后,可以直接使用这里面的SQL覆盖恢复数据库,并把附件文件拷到对应的目录,即可完成整个OA系统的恢复。

至此,备份及恢复结束。后续会更新关于日常运维的其他内容。

 

1.问题排查

前些日子阿里云服务器一直报内存占用过高的问题,后来就没了声息。我近期工作也比较忙,随便看了看业务还在正常运行,就没深入了解。后来服务器也不报警,就没管了。

后来续费上去看了看了,好家伙怪不得没报警了。原来云监控插件都挂掉了。估计是因为内存占用过高,系统自动kill掉了云监控。在主机里面重新启动了云监控,内存直接就100%。

开始排除问题。

SSH登陆服务器,用free -m 再确认一下主机内存。

1核2G内存的机子,内存直接就满了。这台机器上面部署着Nginx+PHP+Mysql服务,外加一个Dokcer,但是Docker并没有运行。正常来说内存是绰绰有余的。只能使用top而后Shift+M按内存使用进行排序,再进一步排查。

发现是php-fpm开了太多线程了,直接挤爆了内存所致。

2.着手解决

找到 /etc/php-fpm.d/www.confpm.max_children默认是50,每一个进程占用1%-2.5%的内存,加起来就耗费大半内存了。所以我们根据需要修改为30。

pm.max_spare_servers : 该值表示保证空闲进程数最大值,如果空闲进程大于此值,此进行清理 pm.min_spare_servers : 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程;

这两个值均不能不能大于 pm.max_children 值,通常设置 pm.max_spare_servers 值为 pm.max_children 值的60%-80%。

最后,重启php-fpm

systemctl restart php-fpm

问题解决。

posted @ 2019-07-08 14:47  秀常  阅读(1561)  评论(0编辑  收藏  举报