博客
关于我
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实现LinearSieve线性素数筛选算法 (附完整源码)
查看>>
Objective-C实现LinkedListNode链表节点类算法(附完整源码)
查看>>
Objective-C实现LinkedList链表算法(附完整源码)
查看>>
Objective-C实现local weighted learning局部加权学习算法(附完整源码)
查看>>
Objective-C实现logistic regression逻辑回归算法(附完整源码)
查看>>
Objective-C实现logistic sigmoid函数(附完整源码)
查看>>
Objective-C实现longest Common Substring最长公共子串算法(附完整源码)
查看>>
Objective-C实现longest increasing subsequence最长递增子序列算法(附完整源码)
查看>>
Objective-C实现longestCommonSubsequence最长公共子序列算法(附完整源码)
查看>>
Objective-C实现LongestIncreasingSubsequence最长递增子序列算法(附完整源码)
查看>>
Objective-C实现lorenz transformation 洛伦兹变换算法(附完整源码)
查看>>
Objective-C实现Lower-Upper Decomposition上下分解算法(附完整源码)
查看>>
Objective-C实现LowerCaseConversion小写转换算法(附完整源码)
查看>>
Objective-C实现lowest common ancestor最低共同祖先算法(附完整源码)
查看>>
Objective-C实现LRU 缓存算法(附完整源码)
查看>>
Objective-C实现LRU缓存(附完整源码)
查看>>
Objective-C实现LRU(least recently used)算法(附完整源码)
查看>>
Objective-C实现lstm prediction预测算法(附完整源码)
查看>>
Objective-C实现lucas数列算法(附完整源码)
查看>>
Objective-C实现Luhn (Mod 10)Algorithm算法(附完整源码)
查看>>