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
APIテスト自動化の勘所
yokawasa
7
4.1k
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
「 SharePoint 難しい」ってよく聞くけど、そんなに言うなら8歳の息子に試してもらった
taichinakamura
1
600
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
320
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
ユーザーの購買行動モデリングとその分析 / dsc-purchase-analysis
cyberagentdevelopers
PRO
2
100
カメラを用いた店内計測におけるオプトインの仕組みの実現 / ai-optin-camera
cyberagentdevelopers
PRO
1
120
いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜
horsewin
9
2.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
初心者に Vue.js を 教えるには
tsukuha
5
390
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
It's Worth the Effort
3n
183
27k
The Cult of Friendly URLs
andyhume
78
6k
Designing Experiences People Love
moore
138
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
RailsConf 2023
tenderlove
29
880
Being A Developer After 40
akosma
86
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
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!