(信海龙)淘宝社区双十一性能优化实践

2020-02-27 208浏览

  • 1.淘宝社区双十一性能优化实践 信海龙
  • 2.个人简介 十年如一日的 不务正业 搜索:信海龙 Tclip 基于人脸识别的图片裁剪扩展 2
  • 3.目录 Ø 淘宝社区业务介绍 Ø 性能优化基本思路 Ø 找出性能瓶颈 Ø 数据库分库分表 Ø Memcache数据同步 Ø 搭建降级系统 3
  • 4.淘宝社区 社区介绍
  • 5.淘宝社区
  • 6.2016年方向 阿里未来 要做社区 超越VX
  • 7.社区双十一
  • 8.性能优化基本思路 性能优化基本思路
  • 9.性能优化基本思路 性能优化基本思路 ² 预估流量 ² 性能评估 ² 找出瓶颈 ² 预案和容灾演练 9
  • 10.性能优化基本思路 预估流量 ²预估流量 ² 拍脑袋 ² 根据历史数据估算 ² 流量分解 ² 单核QPS:总体流量 / 机器数 / 内核数 / 10小时 ² 单次请求耗时:1000毫秒 / 单核QPS 10
  • 11.性能优化基本思路 性能评估 ² 流量压测 ² ab Jmeter Tcpcopy ² 关注指标 ² CPU 网络 磁盘IO 日志 ² vmstat iotop tsar top 11
  • 12.性能优化基本思路 容灾演练 ² 预案内容 ² 超时设置 ² 代码容错 ² 模拟故障 ² iptables ² 观察预案是否生效 12
  • 13.找出性能瓶颈 找出性能瓶颈
  • 14.找出性能瓶颈 14
  • 15.找出性能瓶颈 15
  • 16.找出性能瓶颈 16
  • 17.找出性能瓶颈 17
  • 18.找出性能瓶颈 18
  • 19.找出性能瓶颈 auto_prepend_file=“client.php” fastcgi_param PHP_VALUE “auto_prepend_file=client.php” php_value auto_prepend_file=“client.php” 19
  • 20.数据库分库分表 数据库分库分表
  • 21.数据库分库分表 为什么要分库分表 ² 单表写入压力大 ² 单表访问压力大 ² 更改表结构耗时 ² 单库承受不了压力 21
  • 22.数据库分库分表 如何分库分表 ² 水平分表 ² 垂直分表 ² 建立新库 ² 增加从库 22
  • 23.数据库分库分表 水平分表 23
  • 24.数据库分库分表 带来的问题 ² 查询变得更复杂 ² select * from t where id in (1,2) ² 数据一致性问题 ² 主从库同步延迟 24
  • 25.数据库分库分表 解决方案 ² 数据库中间件 ² 隐藏细节 ² 读写分离 ² 流量分配 ² DRC数据同步 25
  • 26.数据库分库分表 中间件
  • 27.Memcache数据同步 Memcache数据同步
  • 28.Memcache同步 为什么要数据同步 ² 新上一个机房 ² 高延迟,10毫秒 ² 请求Memcache频繁 ² 导致页面打开速度缓慢 28
  • 29.Memcache同步 解决方案调研 ² 开源软件 ² Magent 长久无人维护 ² 更新双写 ² 更新操作耗时 29
  • 30.Memcache同步 KVPROXY ² 支持数据同步/异步复制 ² 支持读写分离 ² 支持Failover机制 ² 良好的协议扩展性 ² 默认支持Memcache协议 30
  • 31.降级系统 搭建降级系统
  • 32.降级系统 降级系统的意义 勉强的活着 优雅的死去 32
  • 33.降级系统 降级系统架构 33
  • 34.降级系统 降级管理界面 34
  • 35.降级系统 系统特点 ² 离线更新 ² 不影响线上服务 ²无状态 ² 存储未登录状态内容 ² Web管理 ² 操作管理更方便 35
  • 36.Thank you