Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
小米运维基础设施
Search
laiwei
September 06, 2013
Technology
2
1.3k
小米运维基础设施
针对移动互联网应用的网络建设和优化 2013中国系统架构师大会
laiwei
September 06, 2013
Tweet
Share
More Decks by laiwei
See All by laiwei
小米-企业安全实践
laiwei
1
5.2k
小米运维自动化
laiwei
0
5.5k
小米自动化运维实践 qcon 2014 Beijing
laiwei
2
12k
noops in xiaomi @ Velocity 2013 beijing
laiwei
1
1.4k
laiwei #adc2013# #taobao adc#
laiwei
5
3.7k
Other Decks in Technology
See All in Technology
ネットワーク可視化の世界
likr
7
5.4k
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
750
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
660
UI State設計とテスト方針
rmakiyama
4
900
AWS re:Invent 2024 recap
hkoketsu
0
650
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
150
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
200
いまからでも遅くないコンテナ座学
nomu
0
160
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.6k
Storage Browser for Amazon S3
miu_crescent
1
320
C++26 エラー性動作
faithandbrave
2
850
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
1
370
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Adaptive Systems
keathley
38
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
The Invisible Side of Design
smashingmag
299
50k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Unsuck your backbone
ammeep
669
57k
How STYLIGHT went responsive
nonsquared
96
5.2k
Bash Introduction
62gerente
609
210k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Transcript
针对移动互联⺴⽹网应⽤用的⺴⽹网络建 设和优化 ⼩小⽶米运维基础设施 2013
李永斌 ! ⼩小⽶米运维部,⺫⽬目前主要负责运维基础设施的规划和构建 ! 联系⽅方式:
[email protected]
! ⽶米聊: 4374755 ! ⼩小⽶米运维部⾮非官⽅方Blog
http://noops.me/ ! ⼩小⽶米运维开源项⺫⽬目主⻚页 https://github.com/xiaomi-sa 自我介绍
www.xiaomi.com Q & A ⼩小⽶米的做法分享 如何应对?⼩小⽶米的想法 移⺴⽹网下运维的新挑战 背景 - 移动互联⺴⽹网快速成⻓长
内容
背景 一 移动互联⺴⽹网快速增⻓长,⼿手机成为第⼀一上⺴⽹网终端! 数据参考:百度移动互联⺴⽹网发展趋势报告2013Q1
背景 二 ⼩小⽶米是⼀一家专注于iphone、android等新⼀一 代智能⼿手机软件开发与热点移动互联⺴⽹网业务运 营的公司。 60% – 80% 请求来⾃自于移动互联⺴⽹网
www.xiaomi.com Q & A ⼩小⽶米的做法分享 如何应对?⼩小⽶米的思路 移⺴⽹网下运维的新挑战 背景 - 移动互联⺴⽹网快速成⻓长
内容
运维的新挑战 一 BSC BTS SGSN GGSN DNS 直射/反射/绕射/信号强度 IP传输网 CNC
CTC 数据依靠电波传输,质量不稳定 移动互联⺴⽹网建设在⼀一个发展阶段,并未完全成熟
运维的新挑战 二 :-D 正常情况下: (×_×) 还可能会遭遇: 域名⽆无法解析 ⽆无法和其他⺴⽹网络建⽴立连接 传输巨慢 Connect
reset by peer 类型 速度 传文件 实测 GPRS 171.2 kbps 21.4 kb/s ~ 16 kb/s EDGE 384 kbps 48 kb/s ~ 25 kb/s 3G > 2 Mbps >250 kb/s - PING: EDGE 300+ / GPRS 600+ 域名解析:> 2s 建⽴立连接:> 2s RTT: > 3s 数据传输:<5k (︶︿︶) 可能会遭遇: 米聊72%访问 来自于GPRS/ EDGE
www.xiaomi.com Q & A ⼩小⽶米的做法分享 如何应对?⼩小⽶米的想法 移⺴⽹网下运维的新挑战 背景 - 移动互联⺴⽹网快速成⻓长
内容
如何应对?小米的想法 ⽤用户就近获取内容 建CDN节点,能缓存的都缓存 避免⽤用户⾛走⼲⼴广域⺴⽹网 ⽤用户连节点,统⼀一优化传输 减少DNS查询 DNS⽀支持HTTP查询 减少TCP建⽴立连接 ⻓长链接/ keepalived
a b c d
www.xiaomi.com Q & A ⼩小⽶米的做法分享 如何应对?⼩小⽶米的想法 移⺴⽹网下运维的新挑战 背景 - 移动互联⺴⽹网快速成⻓长
内容
小米的做法分享 1. 建设节 点 质量 跟踪 ⽤用户 调度 1.节点建设 2.⽤用户调度
3.质量跟踪 4.持续优化 三者相互依托,形成持续优化的基础平台
节点建设 – 选点 Jinan CNC ! ⺴⽹网络测量⼯工具。基于Ping traceroute wget !
JS探针 客户端收集,绘制出质量地图 ! 运营商+地域 2个维度看节点的覆盖能⼒力。 ! Ping RTT测算省际间是否直连 ! 节点的回源质量
节点建设– 建点 • 把内容推送到离⽤用户最近的DC。 • 根据类型和⼤大⼩小定制缓存,⼤大部分频道98%+命中 率。 • 针对移动互联⺴⽹网的TCP优化 ⽤用
户 加 速 节 点 源 站 1 2 • 第1段,做到最短;第2段,优化传输。 • 经历了很多版本,也⾛走了不少弯路。 • GAD,VPN加密+节点 ,去加密 ,多链路回源, 应⽤用层多链路回源 ,专线 静态 动态
节点建设 – 加速案例 1 ! 基于路由切换链路 ! VPN链路 ! PING/TCP建⽴立连接测试
! 最短路径 ! UDP 路由通知 2 ! 应⽤用层实现 ! 并⾏行发送数据报,使⽤用先到数据 ! TCP聚合 Frontend Backend
小米的做法分享 2. ⽤用户调 度 质量 跟踪 节点 建设 1.节点建设 2.⽤用户调度
3.质量跟踪 4.持续优化 三者相互依托,形成持续优化的基础平台
! 存在优先级顺序 ! 客户端根据实际效果排序 ! 基于⽤用户来源IP地址调度 ! ⼀一次下发多组解析结果 用户调度 –
HTTP DNS Json 格式 ⽀支持HTTP查询的 DNS SMART DNS Bucket list Channel
! Nginx + Geo http_code_302 中央调度 ! ⼆二次调度修正⽤用户Local DNS错误 用户调度
– eDNS+中央调度 中⼼心调度 eDNS ! 通过Google 提交的DNS扩展协议,让Public DNS服务 器传递⽤用户的IP地址给你的 DNS server。 ! 通过⽤用户真实的IP地址,进⾏行准确的调度。 ! http://noops.me/?p=653 http_redirect ⽤用户体验提升 成本优化
小米的做法分享 3. 质量跟 踪 ⽤用户 调度 节点 建设 三者相互依托,形成持续优化的基础平台 1.节点建设
2.⽤用户调度 3.质量跟踪 4.持续优化
质量跟踪 – 主要途径 ! 客户端采集 ! ⽤用户反馈,⽇日志提交 ! 服务器端分析 !
质量监控
! 在通过⾃自开发⼯工具(TCPXM)全量/取样 采集可以标识⽤用户质量的数据 质量跟踪 – TCPXM采集 http://noops.me/?p=594 https://github.com/xiaomi-sa/tcpxm
! TCPXM 获取的数据绘制出不同ISP的质量图表 ! 不同⾊色差标识该单元质量差异 ! 还可以提供其他多维度的统计表 质量跟踪 – TCPXM报表
! 基于访问占⽐比和平均速度,定义⽤用户质量红线 ! 对红线外的调度单元进⾏行优化
小米的做法分享 质量跟 踪 ⽤用户 调度 节点 建设 三者相互依托,形成持续优化的基础平台 1.节点建设 2.⽤用户调度
3.质量跟踪 4.持续优化
持续优化 一 优化 修正IP库 主动修正:多IP库对⽐比合并 被动修正:质量跟踪判别,⾃自定义条⺫⽬目 修正调度错误 可灵活配置的调度后台 地域联通性问题 建立节点
寻找回源 节点的持续优化 节点质量的不稳定,持续优化和删减
BOSH 系统让客户端提升连通性 ! Bidirectional-streams Over Synchronous HTTP (BOSH) 是⼀一种传输协议。 !
它可以利⽤用同步的HTTP协议模拟两个实体(例如 客户端-服务端)双向流传输,⽽而不需要轮询或异 步组件 持续优化 – BOSH 23.70% 18.60% 15.30% 23.24% 51.00% 米聊登录失败时,其他网络测试的成 功比率
效果对比 静态⽂文件下载 ⽶米聊登陆 平均大小38k,100ms内完成请求占比 在3s内完成登陆占比 40% 95% 2011年6月 2013年6月 35%
95% 2011年6月 2013年6月
Thanks!