赞
踩
keepalive是长连接的意思。客户端发起http请求前需要先与服务端建立TCP连接,每次TCP连接都需要三次握手来确定,三次交互不仅会增加消费时间,还会增加网络流量。http请求是请求应答式,如果能知道每个请求头与响应体的长度,就可以在一个连接上执行多个请求,这个就是所谓的长连接。
Nginx的keepalive连接保持的特性,实际上就是在一次TCP连接中,可以持续处理多个客户请求,而不断开连接。通过该机制可以减少TCP连接的建立次数,减少TIME_WAIT的状态连接。从而增加服务的吞吐量和整体服务质量。但是,长时间的TCP连接会导致系统资源被长时间占用,浪费资源,所以在实际使用的时候,还需要为keepalive设置合理的 timeout。
一般我们说的长连接的情况有两种:
在http协议header中可以看到当前连接状态
客户端的keepalive是配置在http模块中的,主要的几个参数如下:
1、keepalive_time time
限制通过一个长连接可以处理请求的最长时间。达到这个时间后,将关闭这个连接。它的默认值是 1小时,即一个连接在开启超过一小时后,将会强制关闭。这个是在nginx1.19.10版本增加的新功能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。