lb的keepalive问题

匿名 (未验证) 提交于 2019-12-03 00:11:01

0. keepalive

大家都很清楚他的用意了,就是为了减少3次握手,设置一个timeout,比如说20s ,在20s内不请求,连接还是保持着,这时候请求过来,不需要重新经过tcp的三次握手,如果超过了就会断掉,重连的话就要3次握手。

一个正常的keepalive回复头有2个参数:

  1. timeout
  2. max
HTTP/1.1 200 OK Connection: Keep-Alive Content-Encoding: gzip Content-Type: text/html; charset=utf-8 Date: Thu, 11 Aug 2016 15:23:13 GMT Keep-Alive: timeout=5, max=1000 Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT Server: Apache  (body)

这里举国内厂商为例,

  1. 阿里云,默认keepalive_timeout 15s ,无法关闭。
  2. 华为云,默认keepalive_timeout 300s,无法关闭。

那么很显然华为云的值有点过大了。

就是用户端会长时间停留在该lb上面,如果你只有1个lb,一个机房,那其实没啥影响,但是如果你有多机房部署,会造成用户到不了其他地方的问题。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!