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.3k
小米运维自动化
laiwei
0
5.6k
小米自动化运维实践 qcon 2014 Beijing
laiwei
2
12k
noops in xiaomi @ Velocity 2013 beijing
laiwei
1
1.4k
laiwei #adc2013# #taobao adc#
laiwei
5
3.8k
Other Decks in Technology
See All in Technology
An introduction to Claude Code SDK
choplin
2
1.3k
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
1.9k
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
1.6k
Snowflake Intelligenceという名のAI Agentが切り開くデータ活用の未来とその実現に必要なこと@SnowVillage『Data Management #1 Summit 2025 Recap!!』
ryo_suzuki
1
160
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
390
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
350
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
無理しない AI 活用サービス / #jazug
koudaiii
0
100
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
18
7.6k
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
140
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Thoughts on Productivity
jonyablonski
69
4.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Unsuck your backbone
ammeep
671
58k
A designer walks into a library…
pauljervisheath
207
24k
Scaling GitHub
holman
460
140k
Side Projects
sachag
455
42k
How to Ace a Technical Interview
jacobian
278
23k
Producing Creativity
orderedlist
PRO
346
40k
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!