现象:
生产环境中,提供给第三方服务的时延每隔2分钟总有时延大于200ms,影响了用户体验。
前期排查以为是系统内部问题,nginx +tomcat +redis。发现业务模块之间ok。
排查nginx 机器 发现查看nginx进程ps -ef|grep nginx 180个WAIT_TIME
tcpdump 抓包
TCP重连耗时近1分钟,底层连接出问题了。nginx 和tomcat之间的握手不停重连。
频繁握手、采用长连接。
网上有一篇nginx+tomcat 长连接的文档很准确。
http://blog.csdn.net/enweitech/article/details/52858612
当前系统修改如下:
nginx.conf
http {
keepalive_requests 8192;
keepalive_timeout 180s 180s;
}
upstream test {
keepalive 768;
}
location / {
proxy_http_version 1.1;
proxy_set_header Connection "&#