php-fpm进程平滑重启

231 篇文章 9 订阅

php-fpm进程平滑重启

killall php-fpm && php-fpm
在这里插入图片描述

php-fpm平滑重启原理

php-fpm平滑重启实习上是保留主进程,杀掉主进程。之后由主进程重新生成子进程。

master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块

SIGUSR1 用户自定义信号 默认处理:进程终止
SIGUSR2 用户自定义信号 默认处理:进程终止

cat /etc/php-fpm.conf
看到
pid = /var/run/php-fpm/php-fpm.pid

也可以使用

ps aux | grep ‘php-fpm’
在这里插入图片描述
得到master进程的pid

php-fpm 启动:

/usr/local/php/sbin/php-fpm

php-fpm 关闭:

kill -INT 16699

php-fpm 重启:

kill -SIGUSR2 16699

“平滑重启”和“快速重启”是两种不同的概念

php-fpm的reload平滑重启是指:

假设128个php-cgi进程中有50个进程正在处理PHP程序,而剩余的78个进程处于闲置状态,php-fpm接到平滑重启信号后,会kill掉78个闲置进程,然后新启动128个进程,新请求交给新启动的进程来处理,而那50个进程,只有等到它们处理完自己当前正在执行的PHP程序后,才会被干掉。

daetmontools的快速重启:

采用spawn-fcgi启动php-cgi,使用shell脚本、daetmontools监控php-cgi,由shell脚本killall -9 php-cgi然后快速启动php-cgi,虽然时间很短,但是,尚未处理完成的这50个进程会被强行杀掉。如果这些进程正在处理较为重要的任务,例如注册、登陆、充值等业务,可能会造成用户体验、金钱上的损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值