湖南快乐十分走势:浅谈PHP-FPM参数

湖南快乐十分走势图 www.eh3l1.cn process_control_timeout

英文解释

process_control_timeout
 mixed
Time limit for child processes to wait for a reaction on signals from master. Available units: s(econds), m(inutes), h(ours), or d(ays) Default Unit: seconds. Default value: 0.

中文翻译

process_control_timeout
 mixed
设置子进程接受主进程复用信号的超时时间??捎玫ノ唬簊(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。

中文翻译有个不恰当的地方,英文解释里并没有指明该信号是复用信号。

我的理解:

处理请求

原则上,php-fpm会选择空闲的fastcgi进程去处理请求,在处理之前,php-fpm会给fastcgi发送信号,用来让fastcgi进程准备好接受请求处理。但是fastcgi进程并不总是能够处理请求,也就是不能总是响应该信号(比如出现假死的情况),这时候就需要设定php-fpm留给fastcgi进程响应信号的时间,如果超时了,php-fpm会想其他办法(例如选择其他fastcgi进程),这个就是process_control_timeout参数的作用

php-fpm进行reload

process_control_timeout = 10

 
<?php 
sleep(50);echo 1;sleep(20);    
//没有这个sleep,reload会立即生效echo 2;

当浏览器访问//localhost时,进行php-fpm平滑reload,fastcgi信号收到关闭进程信号后,第一个sleep函数会直接返回,但是第二个sleep仍在执行。因此,php-fpm会被这一个旧fastcgi进程卡10s,超过后才能完成平滑重启

request_terminate_timeout

在php-fpm.conf文件中的描述如下:

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop script execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0

翻译过来就是:
request_terminate_timeout参数设置了处理单个请求的超时时间,过了之后,该worker进程就会被kill掉。这个选项应该在php.ini文件的max_execution_time选项由于某种原因没有停止脚本的运行下使用。默认值为0,表示该选项为关闭状态。

正如上面所说,request_terminate_timeout设定的是请求的超时时间,而php.ini配置中的max_execution_time根据手册如下的解释,是脚本被允许的最大执行时间。

max_execution_time
 integer
这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。
最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。
在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini中修改时间限制。
你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。

区别如下:

超时后,request_terminate_timeout会返回502Bad Gateway了,而max_execution_time会抛出Fatal Error。

max_execution_time不包括诸如使用system(),sleep()的系统调用、流操作、数据库操作等的时间,所以比较鸡肋,而request_terminate_timeout会包含程序的完整请求时间。

另外,开启request_terminate_timeout并不会让max_execution_time失效,先到达谁的超时时间谁起作用。


无数据提示还没有评论,楼主喊你快去抢前排~~~我要评论
微信扫码登陆
  • 又帅又萌!来看90后洋女婿的跨国情缘 2019-06-21
  • 法国红酒法国拉菲珍藏波尔多法定产区红葡萄酒(ASC正品行货)【价格 品牌 图片 评论】 2019-06-18
  • 刘延东:把孔子学院办成中南人民心灵的“彩虹桥” 2019-06-18
  • 深圳晚报总编辑丁时照祝贺人民日报创刊70周年 2019-06-17
  • 《陕西省县域经济社会发展监测考评办法》解读 2019-06-16
  • 只看到“贫穷”而看不到“富裕”,只看到贫富差别而看不到其根源是社会财富被个人占为私有的私有制,都是片面错误的。 2019-06-16
  • 关于对部分载客汽车采取交通管理措施的通告 2019-06-14
  • 端午节赛龙舟!这样的龙舟比赛你见过吗? 2019-06-14
  • 傅抱石《琵琶行诗意》1.035亿元成交 2019-06-13
  • 张雨绮说一克拉以下的钻石是不值钱的 她说的对吗? 2019-06-09
  • 《神奇马戏团》欢乐宣传曲《嗷嗷嗷》上线 燃爆童心萧全 神奇马戏团 2019-05-20
  • 世界杯期间严查酒驾毒驾 江西警察前天又抓了167人 2019-04-26
  • 海印公园北片物业及配套停车场出租项目 2019-04-26
  • 西藏榜书家协会开展“文化带动企业发展”公益活动 2019-04-23
  • V社:Steam中国不锁区 但游戏上线需通过审核 2019-04-21
  • 双色球基本走势图2元网 百发百中三肖二尾一波 上海时时彩11选5开奖结果走势图 曾道人151 免费一码中特已公开 25选5走势图 暴走千金真人游戏下载 浙江快乐彩12选5开奖走势图 彩票精品资料 国际象棋规则图解 20选5定胆 公式规律七尾 15选5中奖技巧 美女感受急速赛车漂移 单车扑克牌