linux服务器time wait,Nginx后端服务大量TIME-WAIT的解决

原因

在HTTP1.1协议中,有个 Connection 头,Connection有两个值,close和keep-alive,这个头就相当于客户端告诉服务端,服务端你执行完成请求之后,是关闭连接还是保持连接,保持连接就意味着在保持连接期间,只能由客户端主动断开连接。还有一个keep-alive的头,设置的值就代表了服务端保持连接保持多久。

HTTP默认的Connection值为close,那么就意味着关闭请求的一方几乎都会是由服务端这边发起的。那么这个服务端产生TIME_WAIT过多的情况就很正常了。

虽然HTTP默认Connection值为close,但是现在的浏览器发送请求的时候一般都会设置Connection为keep-alive了。所以,也有人说,现在没有必要通过调整参数来使TIME_WAIT降低了。

nginx到后端的默认配置

Passing Request Headers

By default, NGINX redefines two header fields in proxied requests, “Host” and “Connection”,

and eliminates the header fields whose values are empty strings. “Host” is set to the $proxy_host variable,

and “Connection” is set to close.

nginx到后端默认的HTTP版本

Syntax:proxy_http_version 1.0 | 1.1;

Default:proxy_http_version 1.0;

Context:http, server, location

This directive appeared in version 1.1.4.

Nginx到后端不开启keepalive的原因

keepalive的数量很难设置的准确,偏小的话就没啥作用 偏大的话会影响worker的短连接处理,都是内网 tcp连接的过程耗时应该可忽略吧,==但是带来的问题可能会造成后端服务的TIME-WAIT增多

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值