某单位经过CA认证的业务应用访问缓慢故障分析案例
作者:易隐者 发布于:2012-9-3 9:47 Monday 分类:网络分析
【写在之前】:
1,此案例为业务应用系统客户端程序BUG问题导致的故障;
2,此案例可作为业务系统分析评估的应用场景,为业务系统正式上线前测试阶段通过网络分析技术手段发现业务系统稳定性问题的案例;
3,此案例中涉及到的知识点,请大家参考本博的《TCP重传》一文;
【我的案例】:
故障环境
故障网络结构如下图所示:
该单位的网络划分有办公区域和服务器区域,办公区域的机器经过防火墙的地址转换,访问服务器区域的相关服务器。
业务应用访问的流程
业务应用是基于B/S架构的,客户端通过IE浏览器对服务器进行访问;进行访问时,在IE浏览器中输入认证服务器的地址,经过CA认证服务器认证成功后,在通过CA认证服务器的代理,访问业务应用服务器。
故障现象
1,客户端在访问应用服务器时,有时页面打开的速度非常的慢,要等好几分钟才能完全打开页面,打开页面后进行站内访问时,速度也很慢;
2,直接将客户端接在服务器区,访问正常;
3,其他的业务应用全部正常;
4,业务系统开发商与网络集成商均否认是自己维护的系统导致故障了出现。
故障分析
1 分析思路
通过故障现象,我们可以明确这是单一的业务应用故障,问题应该跟该业务的数据交互有关,因此,我们应该将分析的重点放在该业务交互的详细过程。
另外,由于这个故障并不是一直出现,因此,我们需要在故障出现时,捕获其数据报文的详细交互过程,从而发现故障原因所在。
2 分析过程
1, 在测试主机上开启网络分析工具,并在故障现象出现时,捕获其交互的数据报文。
2,分析故障时数据报文详细的交互过程,如下图所示:
通过上图交互过程的分析,我们发现,第一个数据报文是客户端向服务器发送的SYN请求报文,第二个报文是服务器对客户端SYN报文的响应,其SYN标志和ACK标志位都置1了,下面5个报文都是第二个报文的重传。在这里我们没有看到正常的TCP三次握手建立连接的过程,客户端并没有响应来自服务器的SYN报文,服务器因此不断地重传SYN报文,正是这个原因导致了客户端与服务器业务交互异常缓慢。
3,由于该报文是在客户端直接捕获的,因此我们可以确定是客户端未响应服务器的SYN报文,而不是中间设备丢弃了客户端对服务器SYN报文的响应报文。那么为什么客户端不响应服务器的SYN报文呢?
4,将上述分析情况与业务系统开发商沟通之后,开发商才确认是自己的业务客户端出现了问题。
3 分析结论
通过上面的分析,可以得出该故障是由客户端本身不响应服务器的SYN报文导致的。
故障解决
通过我们的分析定位,找到故障的源头是客户端,通过与CA认证程序提供厂商沟通后,发现程序中有一段代码编写存在一些问题,当客户端与服务端的IP地址不在同一网段时,有时会出现客户端不响应服务器SYN报文的情况,在业务开发商优化客户端的程序代码后,该故障得到解决。
日历
最新日志
链接
分类
最新碎语
- 如果一个人想要做一件真正忠于自己内心的事情,那么往往只能一个人独自去做"——理查德·耶茨
2019-06-25 21:34
- 日后我们知道,真正的人生道路是由内心决定的。不论我们的道路看上去如此曲折、如此荒谬地背离我们的愿望,它终归还是把我们引到我们看不见的目的地。(茨威格《昨日世界》)
2019-03-16 21:27
- 如果你渴望得到某样东西,你得让它自由,如果它回到你身边,它就是属于你的,如果它不会回来,你就从未拥有过它。——大仲马《基督山伯爵》
2018-10-09 22:07
- 人生有两大悲剧:一个是没有得到你心爱的东西;另一个是得到了你心爱的东西。人生有两大快乐:一个是没有得到你心爱的东西,于是可以寻求和创造;另一个是得到了你心爱的东西,于是可以去品味和体验。——弗洛伊德
2018-09-25 18:06
- 一个人越有思想,发现有个性的人就越多。普通人是看不出人与人之间的差别的——布莱兹·帕斯卡尔
2018-08-30 18:44
存档
- 2020年11月(2)
- 2018年1月(1)
- 2017年12月(1)
- 2017年11月(6)
- 2017年6月(1)
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2016年11月(1)
- 2016年4月(1)
- 2015年7月(2)
- 2015年6月(1)
- 2015年5月(5)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(1)
- 2014年4月(3)
- 2014年2月(2)
- 2014年1月(2)
- 2013年12月(1)
- 2013年11月(1)
- 2013年10月(2)
- 2013年9月(1)
- 2013年8月(1)
- 2013年7月(3)
- 2013年6月(2)
- 2013年5月(1)
- 2013年4月(3)
- 2013年3月(1)
- 2013年2月(2)
- 2013年1月(2)
- 2012年12月(11)
- 2012年11月(12)
- 2012年10月(12)
- 2012年9月(26)
- 2012年8月(29)
- 2012年7月(18)
- 2012年6月(2)
- 2012年5月(25)
- 2012年4月(16)
- 2012年3月(13)
- 2012年2月(6)