Nginx 上的 send_timeout 选项有什么作用?

Flu*_*bie 5 webserver nginx keep-alive

将其设置为低 (10s) 或高 (60s) 有什么优点和缺点,它与 有什么不同keepalive_timeout

小智 8

文档

语法:keepalive_timeout timeout [header_timeout];
默认值:keepalive_timeout 75s;
上下文:http、服务器、位置

第一个参数设置超时,在此期间,保持活动的客户端连接将在服务器端保持打开状态。零值禁用保持活动的客户端连接。

可选的第二个参数在“Keep-Alive: timeout=time”响应头字段中设置一个值。两个参数可能不同。

“Keep-Alive: timeout=time”头字段被 Mozilla 和 Konqueror 识别。MSIE 会在大约 60 秒内自行关闭保持活动连接。


语法:send_timeout 时间;
默认值:send_timeout 60s;
上下文:http、服务器、位置

设置传输响应给客户端的超时时间。超时仅设置在两次连续的写操作之间,而不是用于整个响应的传输。如果客户端在这段时间内没有收到任何消息,则连接关闭。


所以在使用时keepalive_timeout,浏览器不必进行多次连接,而是使用已经建立的连接。这控制了保持活动/打开的时间。

我建议,如果您将send_timeoutWeb 服务器设置为小,它将快速关闭连接,这将为连接主机提供更多可用的整体连接。

这些参数很可能只与高流量网络服务器相关,两者都支持相同的目标:更少的连接和更高效的请求处理,或者将所有请求放入一个连接(保持活动)或快速关闭连接以处理更多请求(发送超时) )。