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;"去掉
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步