博客
关于我
Nginx 的配置文件中的 keepalive 介绍
阅读量:798 次
发布时间:2023-02-15

本文共 731 字,大约阅读时间需要 2 分钟。

Nginx 的配置文件中 http 模块有关于 keepalive 的一些字段,这里的 keepalive 表示的是 HTTP1.1 的长连接。

长连接是 HTTP1.0 性能上的一个很大的问题,那就是每发起一个请求,都要新建一次 TCP 连接(三次握手),而且是串行请求,做了无谓的 TCP 连接建立和断开,增加了通信开销。

为了解决上述 TCP 连接问题,HTTP/1.1 提出了长连接的通信方式,也叫持久连接。这种方式的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。

持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。

在 Nginx 的配置文件中,keepalive_timeout 65 表示当进行 TCP 连接后,如果在 65s 内没有活动,则关闭长连接。keepalive_requests 1000 表示一个长连接中能够处理的最大请求数。keepalive_time 1h 表示通过一个长连接可以处理请求的最长时间。

在 upstream 模块中,keepalive 也起到关键作用。Nginx 作为反向代理,将请求转发到上游服务器时,需要在上游服务器之间建立长连接,这样可以减少客户端与服务器之间的连接次数,提升性能。

在 Nginx 配置中,upstream 模块中的 keepalive 参数用于限制上游服务器的长连接数量。keepalive_timeout、keepalive_requests、keepalive_time 的含义和 http 模块上的含义一致。

通过合理配置 keepalive 参数,可以有效优化 Nginx 的性能,提升 HTTP 请求的处理能力。

转载地址:http://glcfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现entropy熵算法(附完整源码)
查看>>
Objective-C实现euclidean distance欧式距离算法(附完整源码)
查看>>
Objective-C实现Euclidean GCD欧几里得最大公约数算法(附完整源码)
查看>>
Objective-C实现euclideanDistance欧氏距离算法(附完整源码)
查看>>
Objective-C实现euler method欧拉法算法(附完整源码)
查看>>
Objective-C实现euler modified变形欧拉法算法(附完整源码)
查看>>
Objective-C实现eulerianPath欧拉路径算法(附完整源码)
查看>>
Objective-C实现Eulers TotientFunction欧拉函数算法(附完整源码)
查看>>
Objective-C实现eulers totient欧拉方程算法(附完整源码)
查看>>
Objective-C实现EulersTotient欧拉方程算法(附完整源码)
查看>>
Objective-C实现eval函数功能(附完整源码)
查看>>
Objective-C实现even_tree偶数树算法(附完整源码)
查看>>
Objective-C实现Exceeding words超词(差距是ascii码的距离) 算法(附完整源码)
查看>>
Objective-C实现exchange sort交换排序算法(附完整源码)
查看>>
Objective-C实现ExponentialSearch指数搜索算法(附完整源码)
查看>>
Objective-C实现extended euclidean algorithm扩展欧几里得算法(附完整源码)
查看>>
Objective-C实现ExtendedEuclidean扩展欧几里德GCD算法(附完整源码)
查看>>
Objective-C实现external sort外排序算法(附完整源码)
查看>>