019_nginx upstream中keepalive参数

一、

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

(1)前端Nginx大量报no live upstreams
(2)
后端server大量的TIME_WAIT

 二、

upstream中的keepalive设置

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

官方解释:

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

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

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

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

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

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

 

posted @ 2017-10-26 18:45  arun_yh  阅读(2149)  评论(0编辑  收藏  举报