- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
新浪Redis运维实践
展开查看详情
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