Spring中的aware接口详情
259
2022-10-24
奇怪的VM高网络接收吞吐量问题查找
问题
排错步骤
VM不太好登录上去看,但是在Hyper-V环境,我们有更好的方法可以进行抓包。那就是Hyper-v网络的高级功能,PORT Mirroring。(大概步骤就是你把VM的网卡设置为镜像的Source,然后在另外一个专门抓包的VM的网卡上设置镜像的Dest),然后你就可以抓Source 的数据包了。参考这个文章配置Hyper-v Network Port Mirroring. 我们的专门抓取数据包的是个centos 7的VM ,这是一个含有工具箱的机器,可以在多个机器上漂移,用来排错,在设置了Port Mirroring后,我们这个VM的第二个网卡上设置成promisc,然后抓了一小段时间的数据包。 ifconfig eth1 promisc tcpdump -i eth1 -w client4.cap
揭开真相
拖下来cap包用wireshark进行分析,先对协议进行统计,有个dcerpc的协议占用了75%左右的流量。
高峰大概在4Mb/s 了,平均2.5Mb/s 左右,那么如果仔细计算下,60秒就是1分钟的数据量大概就是150Mb,那么10分钟就是1.5Gb,有点吓人,比备份系统的流量都高。 wireshark 对DCE/RPC的解释在这里,而且DCE/RPC的数据主要是和AD的Domain Controller进行交互,就我们内部的应用来看这个很像是使用DCOM访问的数据。
登录到VM本地看看,发现有个深信服的ADSSO应用在这里运行,应该就是它了。看看深信服ADSSO的介绍。
然后本地还有ADSSO的日志,我们看到大量的warning,肯定无疑这个应用的问题了。
最后总结
没有头绪时需要一步步缩小范围才能定位到问题实质,这个问题我们只能找到问题点,虽然自己没有办法解决,但已经确定到一个非常小的点了,下一步看厂商怎么解决。曾经想反编译下应用代码,看看到底是什么逻辑,这效率太低了。后面发现代码是VC写的,反编译到代码比较麻烦
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~