019_nginx upstream中keepalive参数

时间:2022-09-21 04:24:11

一、

TCP/IP State=>SYN_RECV,LISTEN,TIME_WAIT,ESTABLISHED,STREAM,CONNECTED,CLOSING

(1)前端Nginx大量报no live upstreams
019_nginx upstream中keepalive参数
(2)
后端server大量的TIME_WAIT

019_nginx upstream中keepalive参数

019_nginx upstream中keepalive参数

019_nginx upstream中keepalive参数

二、

upstream中的keepalive设置

此处keepalive的含义不是开启、关闭长连接的开关;也不是用来设置超时的timeout;更不是设置长连接池最大连接数。

官方解释:

1. 设置到upstream服务器的空闲keepalive连接的最大数量

2. 当这个数量被突破时,最近使用最少的连接将被关闭

3. 特别提醒:keepalive指令不会限制一个nginx worker进程到upstream服务器连接的总数量。

导致 nginx端出现大量TIME_WAIT的原因:

keepalive设置的比较小(空闲数太小),导致高并发下nginx会频繁出现连接数震荡(超过该值会关闭连接),不停的关闭、开启和后端server保持的keepalive长连接。

解决方案:把upstream{xxxx}里的"keepalive 512;"去掉