【问题标题】:What does send_timeout option do on Nginx?send_timeout 选项在 Nginx 上的作用是什么?
【发布时间】:2018-06-17 09:36:49
【问题描述】:

设置低(10s)或高(60s)有什么优缺点,和keepalive_timeout有什么区别?

【问题讨论】:

  • 你真的想要apache标签吗?
  • Apache 有类似的选项。它们是一样的。

标签: nginx webserver keep-alive


【解决方案1】:

来自the docs

语法:keepalive_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_timeout 设置为比您的网络服务器小,它会快速关闭连接,这将为连接的主机提供更多可用的整体连接。

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

【讨论】:

  • 那么当连接关闭时会发生什么?你还在继续阅读这个页面吗?
  • 通常这是一个超时,这意味着一旦没有看到任何活动。所以它不像连接只持续 60 秒,而是连接将在最后一位数据通过后保持打开 60 秒。
猜你喜欢
  • 2013-04-13
  • 2014-11-01
  • 1970-01-01
  • 2023-01-14
  • 2018-12-01
  • 2014-03-12
  • 2021-11-19
  • 2013-10-28
  • 2016-11-09
相关资源
最近更新 更多