Vipshop(China) CO., LTD. Vipshop Confidential
time-x-within-a-monthtime-x-within-a-monthtime-x-within-a-monthtime-x-within-a-month
AgendaAgendaAgendaAgenda
• 419: for one night
• 419面临的挑战和我们的行动
• 419 post review
• Q&A
external metricsexternal metricsexternal metricsexternal metrics
419419419419
• for 1 night promotion
• 1500 人天
• 30+ sleepless night
• Joint effort;
– B2C, Ops, DBA, QA, PMO, 物流, 安全
– Product
– ...
面临挑战
• 太多电商之前的大促垮掉了
• 我们之前的每次小促销都垮掉
• 一半负责人都是新来的
• 一个月准备时间
• 大量历史代码,重构艰辛
• 单个核心写数据库
• 不确定究竟来多少流量,和流量模式
• 优势
– 之前的X10准备了大量硬件
– 网站结构相对简单,大量静态内容
– 员工较稳定
Key ItemsKey ItemsKey ItemsKey Items
• 参考了其他同行的较多经验
– 聚美,新浪,淘宝,支付宝,ebay。。。
• 了解网站架构
– 网络和IDC拓扑
– 核心业务逻辑和流程
– 估计流量尖峰时刻模型
– 分解业务逻辑对应的资源消耗
– SPOF 测试
Key Items-2Key Items-2Key Items-2Key Items-2
• 监控和容量
–数字化了解网站运营和容量
• 压力很大:究竟有多大?
• 可能不行:究竟什么不行?
• 可能很慢:究竟多慢?
• 全面监控,用数字说话
–前端和后端的压力测试和优化,扩容
• Canary Project
• tcpcopy
• shared componentshared componentshared componentshared component没法测试
监控
• 技术监控:Zabbix为主(+Cacti)
– 梳理网络,F5,服务器的基本情况
– 梳理App服务器(php+nginx)
– 梳理全部缓存利用率,命中率
• 业务监控:Telescope
– key business metrics
• 日志展现
– application log
– system log
– access log
• 全部dashboard化 (Zabbix Screen)
Key Items-Key Items-Key Items-Key Items-3333
• 扩容和优化
–IDC 拆分
–前端Pool的拆分
–数据库的拆分优化
–Network,LB,CDN等基础设施的准备和监
控
主要瓶颈----数据库
• 监控:发现瓶颈
– 10s采样 orzdba+Zabbix
– 磁盘IO:FIO+SSD+16 RAID10
– 发现spike:优化瓶颈
– General Log:指导数据库拆分和优化
• 事故review:action item
– 数据库版本(innodb plugin/bug fix)
– 数据库连接:降低php进程数
– 全部innodb 转换
– 大SQL 优化和迁移到备库
• 性能:
– 拆分购物车和订单
– MySQL伸缩性:tcpcopy
– CPU升级:
– LVS备库: 5 ssd/flash
– 剥离更多读业SQL到备库
主要瓶颈----系统
• 图片
– 扩充源站, +Cache
• CDN
– pre-warm up
– 容量准备
– 监控(基调)和分析(Hive)
• 网络和F5
– review 所有网络带宽,利用率<30%
– 紧急升级F5
• nginx/PHP
– php active threads
– response time monitor
– 正式性能压力测试
• 系统拆分
– de-couple domains
– throughput
主要瓶颈----应用
• Pay
– 单线程,串行
• Dependency check
– 不要让非核心流程block核心业务
• 核心业务和非核心业务
– 随时准备关掉非核心业务
• 降级服务
– 核心服务里面的非关键路径
Key Items-Key Items-Key Items-Key Items-4444
• Learn from mistake:
–review 主要过去事故和action
–确保所有都落实了!
• Review key business workflow
Key Items-5Key Items-5Key Items-5Key Items-5
• Change freeze
• Promotion Day!
– iocc ,dev, ops, dba,
– screen: business/technical metrics
– hourly update to CXO
Post-ReviewPost-ReviewPost-ReviewPost-Review
• 代码的模块化和重构,平台化,服务化
• 安全是个大问题
• 数据库和系统架构在一起
• 运维的标准化和自动化
• 全面监控
• 成本
• SPOF
• 自动切换
• 演练,快速恢复
• IDC容灾
• 成本优化
• MySQL 写的性能压力测试
• PHP+MySQL 连接池
My QuestionsMy QuestionsMy QuestionsMy Questions
• php-mysql dal?
• memcache/redis ha
• backbone idc infrastructure;
• 3rd party cdn quality analysis
谢谢各位!
zhuchao@gmail.com

X program-within-a-month

  • 1.
    Vipshop(China) CO., LTD.Vipshop Confidential time-x-within-a-monthtime-x-within-a-monthtime-x-within-a-monthtime-x-within-a-month
  • 2.
    AgendaAgendaAgendaAgenda • 419: forone night • 419面临的挑战和我们的行动 • 419 post review • Q&A
  • 3.
  • 4.
    419419419419 • for 1night promotion • 1500 人天 • 30+ sleepless night • Joint effort; – B2C, Ops, DBA, QA, PMO, 物流, 安全 – Product – ...
  • 5.
    面临挑战 • 太多电商之前的大促垮掉了 • 我们之前的每次小促销都垮掉 •一半负责人都是新来的 • 一个月准备时间 • 大量历史代码,重构艰辛 • 单个核心写数据库 • 不确定究竟来多少流量,和流量模式 • 优势 – 之前的X10准备了大量硬件 – 网站结构相对简单,大量静态内容 – 员工较稳定
  • 6.
    Key ItemsKey ItemsKeyItemsKey Items • 参考了其他同行的较多经验 – 聚美,新浪,淘宝,支付宝,ebay。。。 • 了解网站架构 – 网络和IDC拓扑 – 核心业务逻辑和流程 – 估计流量尖峰时刻模型 – 分解业务逻辑对应的资源消耗 – SPOF 测试
  • 7.
    Key Items-2Key Items-2KeyItems-2Key Items-2 • 监控和容量 –数字化了解网站运营和容量 • 压力很大:究竟有多大? • 可能不行:究竟什么不行? • 可能很慢:究竟多慢? • 全面监控,用数字说话 –前端和后端的压力测试和优化,扩容 • Canary Project • tcpcopy • shared componentshared componentshared componentshared component没法测试
  • 8.
    监控 • 技术监控:Zabbix为主(+Cacti) – 梳理网络,F5,服务器的基本情况 –梳理App服务器(php+nginx) – 梳理全部缓存利用率,命中率 • 业务监控:Telescope – key business metrics • 日志展现 – application log – system log – access log • 全部dashboard化 (Zabbix Screen)
  • 9.
    Key Items-Key Items-KeyItems-Key Items-3333 • 扩容和优化 –IDC 拆分 –前端Pool的拆分 –数据库的拆分优化 –Network,LB,CDN等基础设施的准备和监 控
  • 10.
    主要瓶颈----数据库 • 监控:发现瓶颈 – 10s采样orzdba+Zabbix – 磁盘IO:FIO+SSD+16 RAID10 – 发现spike:优化瓶颈 – General Log:指导数据库拆分和优化 • 事故review:action item – 数据库版本(innodb plugin/bug fix) – 数据库连接:降低php进程数 – 全部innodb 转换 – 大SQL 优化和迁移到备库 • 性能: – 拆分购物车和订单 – MySQL伸缩性:tcpcopy – CPU升级: – LVS备库: 5 ssd/flash – 剥离更多读业SQL到备库
  • 11.
    主要瓶颈----系统 • 图片 – 扩充源站,+Cache • CDN – pre-warm up – 容量准备 – 监控(基调)和分析(Hive) • 网络和F5 – review 所有网络带宽,利用率<30% – 紧急升级F5 • nginx/PHP – php active threads – response time monitor – 正式性能压力测试 • 系统拆分 – de-couple domains – throughput
  • 12.
    主要瓶颈----应用 • Pay – 单线程,串行 •Dependency check – 不要让非核心流程block核心业务 • 核心业务和非核心业务 – 随时准备关掉非核心业务 • 降级服务 – 核心服务里面的非关键路径
  • 13.
    Key Items-Key Items-KeyItems-Key Items-4444 • Learn from mistake: –review 主要过去事故和action –确保所有都落实了! • Review key business workflow
  • 14.
    Key Items-5Key Items-5KeyItems-5Key Items-5 • Change freeze • Promotion Day! – iocc ,dev, ops, dba, – screen: business/technical metrics – hourly update to CXO
  • 15.
    Post-ReviewPost-ReviewPost-ReviewPost-Review • 代码的模块化和重构,平台化,服务化 • 安全是个大问题 •数据库和系统架构在一起 • 运维的标准化和自动化 • 全面监控 • 成本 • SPOF • 自动切换 • 演练,快速恢复 • IDC容灾 • 成本优化 • MySQL 写的性能压力测试 • PHP+MySQL 连接池
  • 16.
    My QuestionsMy QuestionsMyQuestionsMy Questions • php-mysql dal? • memcache/redis ha • backbone idc infrastructure; • 3rd party cdn quality analysis
  • 17.