新浪Redis运维实践

本文先介绍了新浪数据库平台,然后具体介绍了新浪精细化运维,最后介绍了Redis Cluster Proxy,给读者生动详细的介绍了新浪运维实践实例。
展开查看详情

1.新浪Redis运维实践 ` 赵景波 新浪网高级DBA

2.自我介绍  Oracle/MySQL/NoSQL DBA  2015年加入新浪数据库平台  热爱开源DB内部原理探究  微博:@zbdba

3.大纲 新浪数据库平台概览 精细化运维 Redis Cluster Proxy

4.大纲 新浪数据库平台概览 精细化运维 Redis Cluster Proxy

5.新浪数据库平台概览 2008 2010 2012 2014 2015 2016 2017 2018 平台规模: 重要业务:  15个IDC数据中心  1200+ 物理机器  7000+ 实例  1000亿+ hits/天

6.大纲 新浪数据库平台概览 精细化运维 Redis Cluster Proxy

7.精细化运维 基础服务:  服务高可用  监控报警  服务化 细化服务:  成本优化  数据支撑

8.精细化运维 基础服务:  服务高可用  监控报警  服务化 细化服务:  成本优化  数据支撑

9.精细化运维 部署架构  Redis单机  Redis Cluster  Redis Tribe

10.精细化运维 高可用-Sentinel 一个sentinel集群,17sentinel节点,分布于南北共9个数据中心,监控500+个端 口,1000+实例。  并发切换40+端口  切换成功率 98%  单次切换时间<5s

11.精细化运维 高可用-Sentinel踩的坑  单个IDC的数量不建议超过(Sentinel数量-quorum)  客户端长连接问题  可以通过设置slave-priority 控制选举(跨异地机房部署)  防止误切,切换灵敏度控制(quorum、down-after-milliseconds、 failover-timeout) quorum 12 down-after-milliseconds 20000 failover-timeout 120000  设置maxclient、timeout参数 Error registering fd event for the new  建议采用Sentinel 3.2.8 及以上版本 client: Numerical result out of range (fd=10135)

12.精细化运维 监控-Redis监控总览  CPU 单核利用率  网卡流量  分级策略 Redis status  分时策略 监控自定义  合并策略 Config Alert Storage Collect Parse Tcollector  状态:Opentsdb 智能分析 Falcon  可用性:MySQL  连接失败、延迟、复制状态等

13.精细化运维 监控-Redis监控总览 可用性监控 状态监控 连接失败检测 read 连接检测 访问量 插入检测 write readonly maxmemory maxmemory 内存 used maxmemory 变量检测 maxmemory-policy 内存碎片率 连接数监测(20000) evicted_keys 内存比监测(80%) key key 数量 角色监测 命中率 主从复制监测 复制状态检测 连接数 延迟检测 其他状态 从库延迟 慢查数量

14.精细化运维 监控-Redis监控总览

15.精细化运维 监控-Redis监控总览

16.精细化运维 服务化-服务自助

17.精细化运维 服务化-服务自助

18.精细化运维 服务化-服务自助

19.精细化运维 服务化-服务自助

20.精细化运维 服务化-服务Dashboard

21.精细化运维 基础服务:  服务高可用  监控报警  服务化 细化服务:  成本优化  数据支撑

22.精细化运维 成本优化-第一阶段 业务:  业务存储类型  响应时间要求  存储容量  QPS  …… DBA:  业务场景 PIKA  资源成本  运维成本

23.精细化运维 成本优化-第二阶段 Redis 低读写量比例端口 Redis无读写端口(连续一周) Redis低内存利用率端口

24.精细化运维 成本优化-第三阶段 开启超线程 W 划分资源池 制定部署规范  配比不合理机器开启超线程  重点业务划分资源池  选择资源池  共享池机器全部开启超线程  小业务放共享池  剩余内存 >= 服务器内存的20%  机器以资源池划分  服务器剩余内存 > 最大端口的内存  总实例数 < CPU的核数  服务器负载评分 > 80

25.精细化运维 数据支撑-背景  业务使用的什么数据类型?  分别有多少个key?  有没有大key?  key都活跃吗?  响应时间是多少?

26.精细化运维 数据支撑-Redis key 分析

27.精细化运维 数据支撑- cold/dead Key/hot key  空闲时间超过15天则为cold key  空闲时间超过30天则为dead key  Hot key 待完善

28.精细化运维 数据支撑- 响应时间 定制tcprstat+Grafana

29.大纲 新浪数据库平台概览 精细化运维 Redis Cluster Proxy