一、

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;"去掉

 

相关文章:

  • 2021-12-31
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2021-12-28
  • 2021-07-07
  • 2021-12-23
猜你喜欢
  • 2021-06-18
  • 2022-02-17
  • 2021-07-10
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案