Chinaunix首页 | 论坛 | 博客
  • 博客访问: 476379
  • 博文数量: 104
  • 博客积分: 3455
  • 博客等级: 中校
  • 技术积分: 1216
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-18 18:33
文章分类

全部博文(104)

文章存档

2015年(3)

2014年(1)

2013年(7)

2012年(8)

2011年(11)

2010年(18)

2009年(56)

我的朋友

分类: LINUX

2011-11-15 17:03:23

负载均衡的session与realserver上tcp状态的关系
     session ~=  SYN_RCVD + ESTABLISHED + FIN_WAIT1 + FIN_WAIT2 + (?)

SYN_RCVD ESTABLISHED FIN_WAIT1 FIN_WAIT2 都是标准tcp状态,不再解释,简单解释一下?状态.
?状态: 表示realserver的半连接队列已经满了,不再接收LB发送过来的SYN包,这些都将堆积在session表里.
       这种情况一般发生在webserver的线程池满了,在apache下比较常见.        

影响session数的几种情况:
(1) realserver处理响应变慢,堆积 ESTABLISHED 状态,导致session堆积.
(2) realserver的webserver打开了keepalive,增加了ESTABLISHED状态的停留时间.
(3) FIN_WAIT1状态,socket发送缓冲区数据堆积. (网络慢或者对方接收数据慢)
(4) FIN_WAIT2半关闭状态,client端没有回复FIN包.
(5) realserver不再接收新的SYN包,健康检查时好时坏. (比如后端java响应慢,导致webserver线程堆积满)
阅读(1398) | 评论(0) | 转发(0) |
0

上一篇:Connection Queue

下一篇:怀旧演唱会

给主人留下些什么吧!~~