博客
关于我
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实现chudnovsky algorithm楚德诺夫斯基算法(附完整源码)
查看>>
Objective-C实现CIC滤波器(附完整源码)
查看>>
Objective-C实现circle sort圆形排序算法(附完整源码)
查看>>
Objective-C实现CircularQueue循环队列算法(附完整源码)
查看>>
Objective-C实现clearBit清除位算法(附完整源码)
查看>>
Objective-C实现climbStairs爬楼梯问题算法(附完整源码)
查看>>
Objective-C实现cocktail shaker sort鸡尾酒排序算法(附完整源码)
查看>>
Objective-C实现cocktailShakerSort鸡尾酒排序算法(附完整源码)
查看>>
Objective-C实现CoinChange硬币兑换问题算法(附完整源码)
查看>>
Objective-C实现collatz sequence考拉兹序列算法(附完整源码)
查看>>
Objective-C实现Collatz 序列算法(附完整源码)
查看>>
Objective-C实现comb sort梳状排序算法(附完整源码)
查看>>
Objective-C实现combinationSum组合和算法(附完整源码)
查看>>
Objective-C实现combinations排列组合算法(附完整源码)
查看>>
Objective-C实现combine With Repetitions结合重复算法(附完整源码)
查看>>
Objective-C实现combine Without Repetitions不重复地结合算法(附完整源码)
查看>>
Objective-C实现conjugate gradient共轭梯度算法(附完整源码)
查看>>
Objective-C实现connected components连通分量算法(附完整源码)
查看>>
Objective-C实现Connected Components连通分量算法(附完整源码)
查看>>
Objective-C实现Convex hull凸包问题算法(附完整源码)
查看>>