Page 1 of 1

响应延迟和管理缓慢的客户

Posted: Thu Dec 05, 2024 8:11 am
by rubinaakter
NGINX 是一种流行的通用服务器,它连接外部/内部网络的一部分,并提供对动态数据和文件的访问。在本文中,我们将具体讨论 NGINX 超时以及如何通过禁用和设置各种超时来正确处理所有事情。在配置方面,超时至关重要,因为它们指示服务器在终止之前等待特定事件的时间量。它们极其重要,影响服务器的稳定性和资源耗尽的停止。因此,如果这个主题听起来很有趣,我们将与您分享有关超时的所有实用建议。

NGINX 超时的基础知识
以下是 NGINX 超时的一些基础知识:


send_timeout - 这是指将响应发送到客户端的最大时间范围(默认为 60)。这对于避免响应延迟和管理缓慢的客户端非常重要。

client_body_timeout - 此超时指示读取请求正文所需的最长 捷克共和国手机号码
时间(默认为 60)。如果未收到此请求,连接将被关闭,这对于大型帖子或文件上传是必需的。

keepalive_timeout - 这是客户端连接必须在服务器上保留的最长时间(第一个参数默认为 75,第二个参数默认为 60)。

client_header_timeout - 这是读取请求标头所需的最长时间(默认参数为 60)。如果在一定时间内未收到标头,则连接将关闭。需要这种超时变体来防止部分或缓慢的请求。

Image


lingering_timeout - 如果 lingering_close 打开,则此周期(默认值 30)最多可以重复。此参数设置更多数据可以从客户端到达的最大时间段。
NGINX 中的低级 TCP 超时
如果我们谈论较低级别,那么listen指令具有keepalive,并且需要该参数来配置TCP套接字。通过关闭或打开它,我们使用了一个重要的保活机制。

我们还可以使用冒号分隔的列表:


keepintvl - 设置 TCP_KEEPINTVL
keepidle - 设置 TCP_KEEPIDLE
keepcnt - 设置 TCP_KEEPCNT
如果忽略任何提到的参数,请保留默认设置。

NGINX 中的 proxy_* 超时
这里我们只分享 NGINX 的 3 个最常见的超时值,它们如下:


proxy_send_timeout - 发送请求所需的最长时间(默认 60)

*_connect_timeout - 连接到服务器所需的最大时间(通常小于75,但默认参数为60)

*_read_timeout - 读取代理服务器响应的最长时间(默认值 60)
NGINX 中的 fastcgi_* 超时
在谈论 FastCGI 服务器设置时,可以指出几个类别,例如:


fastcgi_send_timeout - 这是FastCGI服务器发送请求的最大时间范围的一个特性(默认60)

*_connect_timeout - 这是连接到服务器的最大时间范围的特征(通常低于75,默认值60)

*_read_timeout - 从服务器读取响应的最大时间范围(默认值 60)
NGINX 中的 memcached_* 超时
对于 memcached_* 超时,选项与我们在本文中介绍的示例非常相似,因此它们如下:


memcached_send_timeout - 这是 Memcached 服务器发送请求的最大时间范围的特征 (60)

*_connect_timeout - 连接到服务器的最长时间(通常小于75,默认60)

*_read_timeout - 读取服务器响应的最长时间(默认值60)
禁用常规 NGINX 超时
一般考虑此主题时,您可以轻松使用服务器或 http 块中的设置列表来禁用通常的超时。让我们看一些基本示例: