背景
最近服务器出现504,正常的情况肯定是链接超时,但是我有遇到的是打开页面直接就超时,一个执行的时间都没有,刷新就又ok了,系统用的是nginx+php-fpm,查到的大多两个建议,一个是增加fpm的缓冲区,让它大一点,我想到的是都没有往里存就直接504了,然后想到的是fpm的子进程数太少了,fpm进程的模式用的是动态的,想着进去看看当前进程总数
ps -ef|grep -c php-fpm
结果就遇到了这个问题
解决方案
没有ps,那就安装呗
apt install ps
直接提示没有,没错就是没有
需要使用如下的命令
apt install procps
就ok了。
好记性不如烂笔头
回到前面的问题,上面截图的是测试的,当时有问题的时候查到的进程数是41个
而我们最大的进程数是50,所以我修改了fpm的最大进程数。具体效果,继续观察。
关于进程数具体用多少,建议如下
进程数= 内存的大小/2 * 20
大体的思路就是每个进程的内存空间给20m,内容占用率是50%。