send_timeout在nginx中做了什么?

时间:2018-01-08 11:53:06

标签: nginx webserver

那它是做什么用的?设置低(10s)还是高(60s)的优点和缺点是什么?它与keepalive_timeout有什么不同?

最佳设置是什么?

1 个答案:

答案 0 :(得分:3)

来自the docs

  

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

     

第一个参数设置保持活动客户端的超时时间   连接将在服务器端保持打开状态。零值禁用   保持活跃的客户端连接。可选的第二个参数设置a   “Keep-Alive:timeout = time”响应头字段中的值。二   参数可能不同。

     

Mozilla识别“Keep-Alive:timeout = time”标题字段   和Konqueror。 MSIE自己关闭了保持活跃的连接   60秒。

  

语法:send_timeout time;
  默认值:send_timeout 60s;
  上下文:http,服务器,位置

     

设置向客户端传输响应的超时时间。超时   仅在两个连续的写操作之间设置,而不是为   传播整个回应。如果客户端没有收到   在这段时间内,连接已关闭。

因此,当使用keep alive时,浏览器不必进行多个连接。但是使用已经建立的连接,这将控制保持活动/打开的时间。我建议如果你将send_timeout设置得很小,那么你的web服务器将快速关闭连接,这将为连接主机提供更多的整体连接。这些参数很可能仅与高流量网络服务器相关。两者都支持相同的目标,即更少的连接和更有效的请求处理。将所有请求放入一个连接(保持活动状态)或快速关闭连接以处理更多请求(发送超时)。