理解NGINX';s fastcgi\u读取\u超时

理解NGINX';s fastcgi\u读取\u超时,nginx,timeout,fastcgi,Nginx,Timeout,Fastcgi,我正在“微调”通过NGINX提供的PHP web应用程序,并将PHP fpm作为FastCGI服务器 发件人: fastcgi\u读取\u超时 定义从FastCGI服务器读取响应的超时 到目前为止还不错。但是 仅在两次连续读取操作之间设置超时,而不是为整个响应的传输设置超时 PHP脚本开始发送数据(nginx读取),然后暂停(计算时间),然后发送更多数据(nginx读取)。如果暂停时间超过指定的时间,则断开连接 这是正确的解释还是我遗漏了什么 exaclty是什么意思“两次读取操作之间” “整个

我正在“微调”通过NGINX提供的PHP web应用程序,并将PHP fpm作为FastCGI服务器

发件人:

fastcgi\u读取\u超时

定义从FastCGI服务器读取响应的超时

到目前为止还不错。但是

仅在两次连续读取操作之间设置超时,而不是为整个响应的传输设置超时

PHP脚本开始发送数据(nginx读取),然后暂停(计算时间),然后发送更多数据(nginx读取)。如果暂停时间超过指定的时间,则断开连接

这是正确的解释还是我遗漏了什么

exaclty是什么意思“两次读取操作之间”

“整个响应”持续时间不是很重要吗?什么参数设置了这个限制

PHP脚本开始发送数据(nginx读取),然后暂停(计算时间),然后发送更多数据(nginx读取)。如果暂停时间超过指定的时间,则断开连接

我认为这是一个正确的解释。
测试也很容易:编写一个简单的php脚本,在
echo
s和
flush
es之间使用一些
sleep
s。(我现在不能自己做)

“整个响应”持续时间不是很重要吗

就我个人而言,
fastcgi\u read\u timeout
方法更具吸引力:

  • 如果您的服务器处于固定超时的高负载下,它肯定会不时出现故障。用户将被激怒,他们将刷新。。。发送另一个请求。。。而且您的服务器阻塞得更厉害,无法满足用户的任何请求
  • 但是,无论负载如何,如果您的服务器显示它仍然处于活动状态,并且正在努力满足客户机的请求,则由它们决定等待还是中止。好多了
什么参数设置了这个限制

php.ini中的
max\u execution\u time

fastcgi_param PHP_VALUE "max_execution_time=1000";
在NGINX配置中

PHP脚本开始发送数据(nginx读取),然后暂停(计算时间),然后发送更多数据(nginx读取)。如果暂停时间超过指定的时间,则断开连接

我认为这是一个正确的解释。
测试也很容易:编写一个简单的php脚本,在
echo
s和
flush
es之间使用一些
sleep
s。(我现在不能自己做)

“整个响应”持续时间不是很重要吗

就我个人而言,
fastcgi\u read\u timeout
方法更具吸引力:

  • 如果您的服务器处于固定超时的高负载下,它肯定会不时出现故障。用户将被激怒,他们将刷新。。。发送另一个请求。。。而且您的服务器阻塞得更厉害,无法满足用户的任何请求
  • 但是,无论负载如何,如果您的服务器显示它仍然处于活动状态,并且正在努力满足客户机的请求,则由它们决定等待还是中止。好多了
什么参数设置了这个限制

php.ini中的
max\u execution\u time

fastcgi_param PHP_VALUE "max_execution_time=1000";
在NGINX配置中