nginx后端应用服务器有大量的tcp连接处于time_wait

35 篇文章 2 订阅
34 篇文章 0 订阅
今天发现weblogic上有大量的连接处于time_wait状态,感觉很奇怪。据说是nginx照成的,用tcpdump研究下。
在nginx的服务器上执行
tcpdump -i bond0 -nnA src host 134.96.129.36 and dst host 134.96.129.71 | grep -30 134.96.111.86
nginx后端应用服务器有大量的tcp连接处于time_wait
可以看到nginx在把请求转发到后台weblogic上时候是发送的http头信息中指定使用HTTP/1.0和Connection:close。从这个Connection属性可以知道,nginx让后端weblogic在请求完成后(及响应请求后),直接关闭连接。及weblogic做的主动关闭,所以主动关闭的一方会有大量的time_wait。----http短连接
在浏览器访问,看以看到只要weblogic请求完毕就关闭与nginx的连接,然后进入time_wait状态,time_wait的时间是60秒。
nginx后端应用服务器有大量的tcp连接处于time_wait
请求转码
json={"param":null,"target":"Version"}
-------------------------------------------------------------------------------------------
在nginx的配置中有一个属性指定浏览器发起的连接与nginx保持keepalive的时间 -----http长连接
下面验证该配置是否有用
nginx后端应用服务器有大量的tcp连接处于time_wait
设置keepalive_timeout属性为30秒
在nginx服务器上重复执行如下命令,监听来自ip为85的浏览器请求
netstat -nto | grep 134.96.111.85 | grep 8010 >> abc.txt && date >> abc.txt
此时在浏览器发送请求该
第一次浏览器求情的时间是19:41:48
nginx后端应用服务器有大量的tcp连接处于time_wait
断开连接的时间是19:42:17
nginx后端应用服务器有大量的tcp连接处于time_wait
established的时间是12+17=29秒。其实第一浏览器的请求时间应该往前的。我统计的不准,执行netstat时候晚了,所以刚好实际那应该就是30秒。
---------------------------------------------------------------------------------------------
还可以做下测试,只要在浏览器重复请求web页面,可以发现浏览器与nginx的连接会被重用,这个可以通过
established连接持续的时间可以看出来。---------------这就是所谓的http长连接了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值