提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

【AD】七层虚拟服务访问慢

|

问题描述

节点池校验很慢,两个节点,其中一个节点发布服务访问很慢直接访问服务器的真实地址,访问正常;通过AD访问虚拟服务的地址很卡。节点池的节点只有一个,没有配置节点监视器,虚拟服务是通过前置调度策略调度到这个节点池的。AD的IP地址为:10.0.8.11,服务器IP地址为:10.253.220.69

告警信息

访问虚拟服务的时候访问很慢

有效排查步骤

1、在AD上抓包发现TCP三次握手的时候,协商MSS,AD数据包中发送的syn包MSS值为1412,而服务器发来的syn+ack包MSS为1368。按照常规的发包规律,后续服务器的发包大小MSS不会超过1368.

2、而后续发送的包的长度为1400,大于了前面tcp三次握手协商的MSS值,导致AD7层虚拟服务,无法正常封装数据转发给客户端。(MSS值取双方发出的MSS值的最小值)

3、常规解决方案,需要服务器那边解决发包的问题,回到MSS正常发包大小。

4、也可以尝试新建一个TCP策略,修改MSS值大小为1360,在【虚拟服务】的【网络策略】中将新建的TCP策略关联进去,但是这个动作不一定能解决问题。


5、这边这个案例,在AD上修改以后,服务器上抓包发现AD发包的MSS值为1324,服务器回包的值是1460(协商值为1324),后续的包的长度没有超过1324,客户端访问虚拟服务也正常了。

根因

    AD设备和服务器三次握手,协商完MSS值以后,服务器数据包发包长度大于和AD上协商出来的MSS值,导致七层虚拟服务无法封装转发

解决方案

1、如果可以修改为4层虚拟服务,这样设备只需要转发数据      
2、调整MSS,让数据包的MSS回到正常范围,一般是哪边发包异常需要调整哪边,也可以尝试调整tcp策略的MSS值。

我要分享
文档编号: 197707
作者: admin
更新时间: 2023-04-04 12:02
适用版本: