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
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
190
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
590
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
250
AGIについてChatGPTに聞いてみた
blueb
0
130
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
160
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.7k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Gamification - CAS2011
davidbonilla
80
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
4 Signs Your Business is Dying
shpigford
180
21k
The Invisible Side of Design
smashingmag
298
50k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Music & Morning Musume
bryan
46
6.2k
The Cult of Friendly URLs
andyhume
78
6k
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!