TCP连接复用
Posted ghzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP连接复用相关的知识,希望对你有一定的参考价值。
转自网络:看到一陌生名词,记录一下
TCP连接复用技术通过将前端多个客户的HTTP请求复用到后端与服务器建立的一个TCP连接上。这种技术能够大大减小服务器的性能负载,减少与服务器之间新建TCP连接所带来的延时,并最大限度的降低客户端对后端服务器的并发连接数请求,减少服务器的资源占用。
一般情况下,客户端在发送HTTP请求之前需要先与服务器进行TCP三次握手,建立TCP连接,然后发送HTTP请求。服务器收到HTTP请求后进行处理,并将处理的结果发送回客户端,然后客户端和服务器互相发送FIN并在收到FIN的ACK确认后关闭连接。在这种方式下,一个简单的HTTP请求需要十几个TCP数据包才能处理完成。
采用TCP连接复用技术后,客户端(如:ClientA)与负载均衡设备之间进行三次握手并发送HTTP请求。负载均衡设备收到请求后,会检测服务器是否存在空闲的长连接,如果不存在,服务器将建立一个新连接。当HTTP请求响应完成后,客户端则与负载均衡设备协商关闭连接,而负载均衡则保持与服务器之间的这个连接。当有其它客户端(如:ClientB)需要发送HTTP请求时,负载均衡设备会直接向与服务器之间保持的这个空闲连接发送HTTP请求,避免了由于新建TCP连接造成的延时和服务器资源耗费。
这里主要是多了一层负载均衡,负责保持与后端服务器的tcp连接。
以上是关于TCP连接复用的主要内容,如果未能解决你的问题,请参考以下文章
端口复用修改Linux内核参数,解决TCP连接中的TIME-WAIT socket
端口复用修改Linux内核参数,解决TCP连接中的TIME-WAIT socket