linuxtcp优化案例详解课件

上传人:494895****12427 文档编号:250620702 上传时间:2024-11-03 格式:PPTX 页数:19 大小:668.45KB
收藏 版权申诉 举报 下载
linuxtcp优化案例详解课件_第1页
第1页 / 共19页
linuxtcp优化案例详解课件_第2页
第2页 / 共19页
linuxtcp优化案例详解课件_第3页
第3页 / 共19页
资源描述:

《linuxtcp优化案例详解课件》由会员分享,可在线阅读,更多相关《linuxtcp优化案例详解课件(19页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,‹#›,,跨机房传输文件为什么这么慢?,短连接传输速率还能提高吗?,我们后台服务时间才几十毫秒,为什么我们的用户感知时间却是秒级的?,TCP/IP - 窗口机制,TCP/IP,–,拥塞控制,TCP/IP –,拥塞算法,,,,,,Linux TCP/IP 优化案例详解,Linux TCP/IP 优化案例详解,1,,问题,,北京-上海间传输速率太慢,单,socket,2MB/s,左右。,可选方法,1,)创建多个,socket,连接,2),增大,TCP,缓冲,(,发送,/,接收),传输速率,30MB/s,,思考,

2、,为什么增大缓冲,就能提高传输速率?,,为什么,BJ,机房内不增大缓冲,也能达到几十兆的速率,?,,发送,/,接收缓冲中,只调整一个,行不行?,跨机房传输文件为什么这么慢,?,跨机房传输文件为什么这么慢?,2,,原理分析,,,,,,,,带宽公式,,网络带宽,=(win*MSS)/rtt,win=min{,发送窗口,拥塞窗口,},BJ-BJ RTT < 1ms BJ-SH RTT 20-30ms,,,跨机房传输文件为什么这么慢,?,跨机房传输文件为什么这么慢?,3,,问题,,短连接下,,BJ,和,SH,间发送,<1MB,的文件,,,传输速率太慢,只有,4MB/s,。,解决方法,,修改内核,增

3、大,TCP,初始窗口(滑动窗口、拥塞窗口),传输速率提高到,12MB/s,,思考,,,12,MB/s,是否已经是上限了,还有提高的余地吗,?,,短链接传输速率还能提高吗,?,短链接传输速率还能提高吗?,4,,速度是否已经达到上限,,TCP,传输一个,1MB,的文件最少需要,2.5,个,RTT,TCP,三次握手占用,1.5,个,RTT,,,数据传输最少占,1,个,RTT,,,,即,20ms,×,2.5=50ms,,,最大传输速率为,1MB/50ms=,20MB/s,。,,短链接传输速率还能提高吗,?,短链接传输速率还能提高吗?,5,,问题,,,,,我们后台的服务时间几十毫秒,为什么我们的用户感知

4、的时间却是秒级?,瓶颈分析方向,,用户感知服务时间,=,后台服务时间,+,公网(接入网)数据传输时间,+,浏览器展现时间,搜索结果命中,cache,的情况下,办公区访问,,更快,,思考,,与,,对比,差异应该主要在公网传输时间上?,,传输时间如何测量?传输时间占多大比重,?,后台服务时间能够控制和优化,传输时间是否也能优化?,SOSO,用户响应时间瓶颈在哪?,SOSO用户响应时间瓶颈在哪?,6,,测试工具至关重要,,传输时间测量工具,TCPFLOW,传输时间测量工具TCPFLOW,7,,,,,,,,,,RTT = t2-t1 后端服务时间 = t4-t3 数据传输时间 =,max(,t5 -

5、 t4 + RTT/2,, t6-t4 – RTT/2),服务响应时间=,max(,t5 - t3 + RTT/2,, t6-t3 – RTT/2),,,,TCP协议传输时间测试方法,TCP协议传输时间测试方法,8,,平均后台服务时间:接入网平均传输时间,,,= 1,:,10,瓶颈分析方向,,平均请求的数据包的小,5 ~ 12,左右,,丢包情况 重复包率高,,思考,平均传输数据量小,均属于短连接数据传输,短连接数据传输速率受那些因素影响?,,丢包后,平均传输时间均达到,1-4s,,很大比例超过,3s,,是否和丢包的机制有关?,,瓶颈主要在传输时间,瓶颈主要在传输时间,9,,频繁的慢启动,,请

6、求的应答数据少,频繁的进入慢启动过程,,慢启动初始窗口,2,,丢包后慢启动窗口为,1,delay Ack,机制 导致慢启动窗口增长缓慢,超时重传,RTO,与,RTT,采样有关,初始,RTO,为,3s,,客户端不支持,timestamp,选项,导致,RTT,采样不太精确,delay Ack,最大延迟,200MS,,导致,RTT,采样速度和频率都受影响,,传输时间瓶颈分析,传输时间瓶颈分析,10,,慢启动优化,,增加慢启动初始发送窗口(,2 - > 4~8,,,proc,参数,),,增加丢包后发送窗口(,1-> 2~4, proc,参数),,增加对窗口增加,/,减小速度进行控制的相关参数(,pro

7、c),(,对比分析了,baidu,google,的相关参数,同时参考了,HSTCP,和,google,论文中的解决方案),超时重传优化,,建立连接的过程中采样,RTT,,用于计算初始,RTO (3s -> max(200, 2RTT),RTO,计算,max(200,3RTT) -> (100, 2RTT),,部分快速重传取代超时重传,快速重传条件,3 -> 2,副作用,,重复包率上升,,内核协议栈优化技术点,内核协议栈优化技术点,11,,优化传输时间效果,,北京联通,369ms,优化后,181ms,下降,188ms 50.8%,,深圳电信,490ms 203ms 2

8、87ms 58.5%,上海电信,449ms 217ms 232ms 51.7%,西安电信,417ms 205ms 212ms 50.6%,西安教育网,834ms 399ms 435ms 52.2%,优化后与百度对比,,北京办公区在结果检索结果均命中,cache,的情况下,明显快于百度。,,SOSO,优化效果,SOSO优化效果,12,,窗口机制,,,滑动窗口与控制窗口,,拥塞控制,,控制控制过程,,拥塞控制窗口变化,拥塞算法,,,各种算法简介,,TCP/IP,TCP/IP,13,,问题,,假设网络中有两台主机,

9、A,和,B,,主机,A,向,B,发送多个数据包,为了避免数据包丢失,需要考虑哪些因素,滑动窗口,,主机,B,接收缓冲区(,rmem,)的大小,A,向,B,发送数据包的速度比,B,应用程序处理的快,,-,> rmem,溢出,数据包丢失,,-,>,引入了滑动窗口协议,控制窗口,链路上节点负荷过大,导致缓冲队列溢出,数据包丢失-拥塞,,-,>,引入了拥塞控制窗口协议,MIN(,滑动窗口,拥塞窗口,),决定,TCP,传输速率,,TCP/IP -,窗口机制,TCP/IP - 窗口机制,14,,慢启动,,拥塞窗口snd_cwnd初始化为2,然后在每个RTT内增大,即每收到一个ACK包,snd_cwnd+=

10、1。当snd_cwnd超过阈值snd_ssthresh时,进入拥塞避免阶段。tcp_slow_start,,delay ack机制导致snd_cwnd增长更慢,,拥塞避免,,,snd_cwnd已经超过阈值snd_ssthresh,为了避免拥塞,snd_cwnd缓慢增大。每收到一个ACK增大1/snd_cwnd。tcpbic_cong_avoid, delay ack机制导致snd_cwnd增长更慢,,丢包,,,当发生数据包丢失时,TCP认为网络中存在拥塞,将减小拥塞窗口的大小,降低发送速率。timeout loss: snd_ssthresh= snd_cwnd/2,snd_cwnd = 1;

11、dup-ack loss : tcp_fastretransmit_alert, tcp_cwnd_down,TCP/IP,拥塞控制过程,TCP/IP 拥塞控制过程,15,,窗口变化,,,,,,,影响拥塞窗口,,,tcp_cwnd_restart(rto时间未传数据),tcp_process_frto,tcp_enter_frto_loss,tcp_complete_cwr,tcp_undo_cwr,tcp_enter_cwr,tcp_cwnd_down,tcp_moderate_cwnd,tcp_cwnd_application_limited,tcp_create_openreq_chil

12、d,,TCP/IP,拥塞控制过程,TCP/IP拥塞控制过程,16,,Reno - TCP/IP默认拥塞算法,超时:,ssthresh = cwnd/2,cwnd=1;快速重传:ssthresh = cwnd/2,cwnd= ssthresh+3(,/pros/sys/net/ipv4/tcp_reordering);快速重传-(Reno)从丢失的数据包算起,全部重传。,,SACK - 选择重传,用TCP扩展头部,接收端告诉发送端哪些数据包已经收到;发送端标志sk_buf,说明该数据包已经正确传输;重传丢失的数据包。,,FACK,由sack确认的包之间的数据包,丢失 还是 其它?,Sack之间的

13、所有数据包,认为已丢失。,,D-SACK,接收端收到了相同seq的数据包,怎么办?,收到两个相同seq的数据包,说明 没必要的重传;接收端在ACK TCP头部扩展域中加入 重复数据包的seq。->发送端收到D-Sack,cwnd恢复重传前的设置。,,TCP/IP,拥塞算法简介,TCP/IP拥塞算法简介,17,,BIC,适合高时延、高带宽的网络,如BJ-SH,LINUX默认选项;,拥塞避免: cwnd=cwnd+inc;inc = 1/ca->cnt,丢包: ssthreshold=ssthreshold×(1-β)。,,VEGAS,适合rtt波动大的网络, 即丢包率高的网络,,事前预测拥塞:在丢包之前,通过rtt的变化提前预测拥塞。,,WESTWOOD,适合高带宽网络,其scalability比BIC差。,丢包:ssthresh= max(2, bw_est*rtt_min/mss),bw_est为估计发送速率,rtt_min为最小rtt。,,TCP/IP,拥塞算法简介,TCP/IP拥塞算法简介,18,,,,,Thanks,linuxtcp优化案例详解课件,19,

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!