探寻影响业务性能的隐形杀手-TCPNagle算法、延迟确认及窗口大小故障分析案例_第1页
探寻影响业务性能的隐形杀手-TCPNagle算法、延迟确认及窗口大小故障分析案例_第2页
探寻影响业务性能的隐形杀手-TCPNagle算法、延迟确认及窗口大小故障分析案例_第3页
探寻影响业务性能的隐形杀手-TCPNagle算法、延迟确认及窗口大小故障分析案例_第4页
探寻影响业务性能的隐形杀手-TCPNagle算法、延迟确认及窗口大小故障分析案例_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例深入学习TCP相关基础知识详细了解Nagle算法和延迟确认理论了解TCPwindowsize对数据传输的影响使用科来网络分析系统分析数据传输性能问题如何解决由WindowSize引起的相关网络性能问题2012年6月6日ByHaiwanxue探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例目录TOC o 1-5 h z HYPERLINK l bookmark4

2、前言3 HYPERLINK l bookmark6一、TCP发展简述4 HYPERLINK l bookmark8二、何谓Nagle算法6 HYPERLINK l bookmark12三、何谓延迟确认8 HYPERLINK l bookmark16四、当Nagle算法遇到DelayedACK10 HYPERLINK l bookmark20五、案例分析一15 HYPERLINK l bookmark22案例背景15 HYPERLINK l bookmark24网络及应用结构15 HYPERLINK l bookmark26分析方法与思路16 HYPERLINK l bookmark28分析过程

3、17整体流量对比17 HYPERLINK l bookmark325.4.2对比分析连接建立信息18 HYPERLINK l bookmark62传输行为和特征分析23 HYPERLINK l bookmark78根本原因分析27 HYPERLINK l bookmark80上传操作速度慢的问题根本原因分析27 HYPERLINK l bookmark84上传操作速度较快的问题可能原因分析28 HYPERLINK l bookmark120六、案例分析二43 HYPERLINK l bookmark122案例背景43 HYPERLINK l bookmark124上传速度对比43 HYPERL

4、INK l bookmark126问题分析44 HYPERLINK l bookmark128文件传输正常数据分析45 HYPERLINK l bookmark136传输慢的原因分析48 HYPERLINK l bookmark192与文件传输正常的特征对比59 HYPERLINK l bookmark204修改缓冲区后的效果对比61 HYPERLINK l bookmark246结束语642、八、亠前言TCP是当今互联网业务最关键的底层技术支撑和实现协议之一,这点想必毋庸置疑。但再具体一点来说,其也是应用开发和网络管理部门的分水岭。应用开发部门和TCP最为密切的位置应该是Socket或Soc

5、ketOption等内容,网络管理部门表面上无需知晓TCP深层内容。实际情况往往是,应用开发部门将所有重心放在如何实现功能需求,涉及到TCPSocket的部分,一般选择基本的必须参数项即可,绝大多数不会去潜心研究每个SocketOption应该如何设置以达到最佳的性能效果。同样,网络部门的重点工作内容则是保障网络可用、稳定和安全可靠,基本上不会去研究不同的应用系统或业务系统的TCP层是如何工作的,也很少研究如何从TCP的角度来优化和提升网络和业务性能。因此,保障和支持业务系统的两个关键部门有点忽视了TCP的“真实”存在。TCP也将应用开发和网络管理部门隔离,大家想想日常的开发和运维流程,有没有

6、网络部门参与到应用设计或开发,或者应用开发部门参与到网络运维管理中来。3TCP发展简述大致看一下目前使用的TCP发展历史,了解笔者下面要分析的关于TCP内容在其发展过程中的位置。1981年开始的RFC793(可视为TCPv4)是现在使用的TCP基础,该RFC规范了TCP协议的基本内容和实现方式。凡事都不会尽善尽美,RFC793设计的TCP在历经网络快速发展的同时,IETF也在不断探索和改进其功能和一些算法。在这些改进中,几乎所有的新增功能都靠TCPOption实现。除了TCPFlags、滑动窗口及基本Seq和ACK等基础知识外,网络上能够看到的相关技术类文章基本都是继1989RFC1122后新

7、增的功能讨论,广为人知的诸如Nagle算法、DelayedACK、ScaleWindow、SACK、拥塞防御如SlowStart等等,因为新增功能不但填补了TCP本身缺陷,而且其底层的技术理论和实现原理都是耐人寻味的,特别是长期从数据包层面进行网络和应用性能分析、故障定位的工作人员,更在意怎样从协议本身的角度去学习去分析去使用,这里的协议学习可能是指了解和掌握某一个字段的含义,以及熟悉引起该字段变化的原因。4笔者在工作过程中发现,无论是开发人员、应用维护人员、网络管理人员或者业务使用者,其在碰到业务性能问题时,往往花很长时间都无法精确诊断问题原因,而引起此类问题的部分原因可能与TCPNagle

8、算法、DelayedACK及窗口大小有关,下面讲讲两则关于Nagle算法与DelayedACK,以及数据在网络传输中效率影响的故事。5探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例 探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例另外,从问题客户端TCP参数未看到关于windowsize的键值。如果没有定义或创建这些键值,则使用系统默认windowsize(不同windows操作系统默认大小不同)。影响T

9、CP缓冲区的键值主要有TcpWindowSize和GlobalMaxTcpWindowSize,两者的不同之处通过名称基本可以判断出来。在问题系统中新建键值并赋值,比如大小都修改为400000。GlobalMaxTcpWindowSize400000TcpWindowSize400000再次测试上传并捕获数据,先看看修改TCP缓冲区后的连接建立时客户端的信息。下图看到,经过修改TCP缓冲区大小后,客户端的windowscale因素已发生变化。能够支持默认窗口大小的多倍空间来处理数据。Frame1:G6bvtesonvAre(528bils),66byt烧captured(526bits)Etr

10、iemetll,Src:etW3yln_ae:bS:6d(00:3D:18:ae:b3:Gd);DstAll-HSRP-rcuters_Od(00:aD:0c;07:3:0d)inernetProtocolversion,src:200.2OD.20D.226(2ac.20a.2c.226).Dst:i92.us.240.n2(192.16S.240.112)Tran5iriissionControlProtocol.3reFort:audit-transfer146)DstFort:ir-dmii:E07O):Seq:0,Len:0Sourceport:audit-Iransfer(1146

11、)Destinationportimmi(8000)Streamindex:0Sequencenurrber:0(reJa:ivesequencenumberHeaderlength32bytesFlags.C0Q2(SYNC3ljTaieO/inaQi263535Cliechsurn:OxflcSavalidationdisabledOptions:(12bytes)t3Ktmum_seameTTi5jze;jJ621lKind:msssize(2)Length:4MSSValue:U6ONo-operation(nop)Length:3Shiftcount:3Multiplier:8No-

12、operation(HOP)No-Operation(NOP)TO/KPemritteOgticniJKind:SACKenmission4)Length.2接下来,还是使用上文分析的上传慢的客户端再进行测试,同时,测试上传相同文件。下图看到,之前速度极慢的相同文件,在修改客户端缓冲区后,发生速度大大提高,速度提高到68Mbps。62探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TC

13、PNagle算法、延迟确认及窗口大小故障分析案例探寻影响业务性能的隐形杀手探寻影响业务性能的隐形杀手TCPNagle算法、延迟确认及窗口大小故障分析案例Traffic3a70.00&M70.0&OD07G.0&0906D.DtHMO?0.0003070.0003060.0003070.00060.0000070.0&GDO&0.00030&0.0003070.0003070.0CMKK7ACK舞)i-z=2S32E7:C-A:-Occ=2i332=Fn5ACK(JSffi)Sk-29&325B7M-M80222S7NfTe2Sa3W2?AOK裁即Sec-2?32-3G224:xMS0:227N

14、extSeq-25S3261(iB4&eq-29S3261684Ack=906012257MfxTSEq8-3263144ACKC)沁”lb:九二其几肚匚RUMJACKi:)5ec=29S32-546MA:z=9CSCC2257eq=253326601ACK(Jfe)5z2如32阮D開瓦:匕二90呦工石畀闰匕:就罪q二298326巧24A匚札咖)Sec-2983267523Ac:-RC!80:2257N?k!S?q-298326?心(刼g1Seq-29&326834Ar=MS012257Ne:tSsq=2327Ci4J3L3ACKClzW眈=四&理兀斗HAc旳曲即Ebxi5旳=29辭27丄牛朋

15、M2K涯)ACK(fcS)5tq=29832733W-Ack-908012257NrxaSq-233274&2_ACKCgjSeq-2983274&24Ac-W8012257N&xtSeq-2983276284AiZK亦:SEq=29&3276234=MSGS227Nf:S&q=25&3277744ack(sag)Sec.r2OS32777d4Ac1Ac-gO8O12J57eq=2&2280654ACKi:曙)rq二29鶴茄0664AcQ9O8皿22刃皿弘q二2983282124ACK(ffag)SeQ29S32S2124Ack9CS0:2257Nex*Seq29&32835W荃苻缶二1450

16、我莊长二14琦=1460珈世聲二1450rr截止目前,问题已经被解决。同样,通过分析,查看了上传速度快慢的不同行为特征,继而得出造成大量数据传输和应用操作性能严重下降的问题原因并不是网络所致。最后,通过对比分析,修改了TCP缓冲区,重新上传测试,捕获数据分析并验证,之前的问题已不存在。63结束语以上内容是笔者以自己对部分TCP功能的理解以及在实际工作中遇到的问题进行了分析并共享。需要再次强调的是,绝大多数基于TCP的业务和应用,都有较大的优化和改善空间。网络分析是一门提倡以数据说话,精准、深入的流量信息管理技术,不但能够有效分析和优化网络与应用性能,加快故障分析和定位,而且能够协助应用和网络运维人员了解各自的管辖内容状态,为进一步做好流量规划和事件应急等方面做好准备。同样,网络分析也与业务性能管理和规划分不开。券商核心交易系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论