百度App网络深度优化_第1页
百度App网络深度优化_第2页
百度App网络深度优化_第3页
百度App网络深度优化_第4页
百度App网络深度优化_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、百度App络深度优化百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App在络诊断和监控上的最佳实践业界对 &络优化收益百度App全链路络整体架构百度AppBGWBFECDN业务ServerHTTP1.1HTTP1.1+TLS1.2HTTP2.0HTTP1.1+TLS1.2HTTP2.0QUIC35/42QUIC35/42WS/WSS第三方ServerQUIC35/42QUIC35/42DNS解析端到端运营商核心网骨干节点运营商接入+汇聚运营商接入+汇聚Wifi路由器基站百度服务接 入 网城 域 网骨 干 网百度外网运营商核心网

2、城 域 网接 入 网百度App络端整体架构C+接口层网络诊断模块并发队列模块网络探测组件HTTPDNS组件网络门面iOS SocketRocketURLSession统一网络库Cronet基础网络库网络监控模块HttpURLConnection封装 层URLSession封装层Android JavaWebSocket拦截器模块HttpURLConnection预连接/备用连接 连接重建/复合连接连接优化弱网优化DNS优化网络监控NQE弱网优 化注入注入最佳实践ijkPlayerRCTNetworkSDWebImage FrescoWKWebView Chromium第三方业务自有业务NA门面

3、接口层HttpURLConnectio n/URLSession接口okhttpok封装层网络诊 断百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App在络诊断和监控上的最佳实践业界对 &络优化收益DNS优化-HTTPDNS端整体架构DNS接口层DNS策略层容灾策略安全策略命中率策略IP选取策略HTTPDNSlocalDNSBackupIP缓存策略任务调度策略HTTPSVIP批量预取本地过期云控DNS基础能力层数据传输iPv4/IPv6协议栈探测缓存实现多域名单域名TTL同步异步DNS优化-Happy Eyeballscron

4、et的Happy Eyeballs(RFC6555)ijkplayer的 Happy Eyeballs(RFC8305)v6连接v4连接延迟300ms发送300ms以内切换第一个v4v6连接立即发送成功超时成功失败竞 争IP列表第一个是v6&IP列表包含v4和v6v6连接重置v4连接重置交替排序v6和v4v4连接超时时间和 200ms取小关闭连接成功超时立即发送超时时间和 200ms取小关闭连接v6连接立即发送成功超时关闭连接超时时间和 200ms取小开始结束开始结束成功失败百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App

5、在络诊断和监控上的最佳实践业界对 &络优化收益连接优化-预连接和连接重建预连接连接重建百度App使用阶段预连接配置域名+ 个数百度App冷百度App网启动阶段络状态变化12清理连接池空闲连接等待200ms,重新建立连接池连接1在连接 池里创 建连接3在连接池里 获取连接2创建定 时器, 间隔 31s重 建连接HTTP代理连接池SpdySession池WebSocket连接池SSL连接池SSLSocketTCP连接池TCPSocketTCP连接池TCPSocketSSL连接池SSLSocketTCP连接池TCPSocketTCP连接池TCPSocketSOCKS5SocketSOCKS连接池SO

6、CKSSocket TCP连接池TCP连接池TCPSocketTCPSocketSSL连接池SSLSocket TCP连接池TCPSocket连接池连接优化-备连接和复合连接备用连接复合连接连接池无 连接可用多IP连接 选取主连接备用连接正常发送延迟250ms 发送成功失败取消切换成功挂起失败停止立即发送成功挂起失败成功挂起失败立即发送IP1顺序选取延迟 发送IP2IP3立即发送延迟 发送停止开始结 束成功失败竞 争结 束结 束开始开始百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App在络诊断和监控上的最佳实践业界对 &络优

7、化收益弱优化-主动探测策略层基础能力层dns queryping开始GOODBADUNKNOWNOFFLINE判断进入弱网状态判断退出弱网状态判断进入弱网状态小于goodhttprtt大于goodhttprtt超时1s地址mbd次数2次超时3s地址mbdDNS server系统配置网关错误ping读写错误ping地址错误初始化icmp错误发送dns错误接收dns错误dns 未知域名错误dns udp错误ping失败一次dns成功ping成功dns server错 误网络请求成功失败weakhttprtt时间间隔时间间隔时间间隔阶梯递增连续成功次数 % 次数阀值 = 0连续失败次数 / 次数阀值

8、 = 1 连续失败次数 % 次数阀值 = 0接口层结 束弱优化-被动采集策略层能力层套接字管理模块连接完成读完成写完成HTTP协议栈读首包完成上报tcprtt上报httprtt请求完成请求销毁吞吐量管理模块记录接收bytestcp_socket_wintcp_socket_posix读完成写完成上报吞吐量记录发送bytes网络活动监控器获取tcp_infobits/duration网络质量管理模块统计GET请求排除精准度请求干扰(RFC1918)最少5个请求1s间隔策略层10s间隔网络类型不能是UNKNOWN网络不能频繁切换rtt和吞吐量总大小各300接口层BADUNKNOWNOFFLINE慢

9、2G2G无网络信息非法httprtt非法tcprtthttpRtt 1.31s非法吞吐量网络未连接GOOD3G广义4G弱网优化 主动探测 + 被动采集 +QUIC + 复合连接HTTPQUIC原连接alt连接alt-svc竞 争正常发送延 迟 发 送成功失败成功失败降级恢复超时连接关闭结 束次数 时间复合连接普通网络请求图片网络请求弱网检测主动网络探测被动网络采集百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App在络诊断和监控上的最佳实践业界对 &络优化收益络监控例行用于常规监 控突发线上问题排 查推送能力开启单用户全量网络

10、日志回传推送能力开启前错误日志限量采集成功率报表失败率报表无网失败率报表分阶段耗时报表DNS劫持率报表失败原因报表网络监 控指标域名IP出口IP总耗 时队列 耗时 response body耗时dns耗时respo nse header耗时tcp耗ssl耗 时时send耗时首包 耗时网络 质量协议 栈协议 版本dns解 析方 式是否局域命中网IP缓存络诊断错开了协议运营商跨网IP封禁CDN调度问题DNS劫持问题百度外网异常路由器异常-无网弱网问题发送https请求,检 验握手协议多运营商探测点查看用户外网IP和域名IP是否合理HTTPDNS结果和 localDNS结果是否 matchdns,p

11、ing,trace百度系失败iOS:errNo是-1004或-1009. Android:errMsg包含no network connected主动探测,被动采集诊断内容诊断方法诊断业务百度Feed百度搜索https问题基本信息https发送失败,检查http发送系统时间地理位置是否免流是否代理基本手段mtudnspingtrace运营商协议栈网络质量WiFi开关无线权限httpshttp百度App全链路络整体架构百度App在DNS上的最佳实践百度App在连接上的最佳实践百度App在弱下的最佳实践百度App在络诊断和监控上的最佳实践业界对 &络优化收益业界对计算王(基于Cronet二次开发)

12、MarsOkHttp来源百度微信Square开源DNS管理对接百度HTTPDNS对接微信的HTTPDNS默认不支持,支持扩展DNS能力并发模型一个网络线程,一个文件线程线程数最多256,单域名限制6个没有线程限制线程数最多64,单域名限制5个协议HTTP/1.1,HTTP/2,QUIC信令传输,长连实现部分HTTP协议, 短连HTTP/1.1,HTTP/2I/O模型epoll+非阻塞I/Opoll+非阻塞I/O使用okio,非阻塞式I/O连接管理增加预连接,连接重建,备用连接, 复合连接HTTP/1.1每个域名最大6个连接支持复合连接HTTP/1.1每个域名最大5个连接 HTTP2.0连接复用质量监控NQE提供当前网络质量评估 增加网络探测模块SDT支持网络侦测和诊断默认不支持长连接默认不支持支持默认不支持接口易用度Android使用Java

温馨提示

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

评论

0/150

提交评论