Redis的大key问题导致redis请求超时
2023-03-14 22:57:25 时间
故障原因
早上9:10-9:26 xx-prod出现报错,查看异常日志,发现有redis执行超时的情况,运维重启了三个org服务器,并增加了一个服务器,系统恢复正常,本次故障原因为redis请求超时导致请求出错
处理过程
9点13分查看日志,发现organization-service有running low告警,查看服务器的RT,发现有一台10.xxx.23.1的响应时间较长,排名靠前的请求的响应时间都超过了1s,查看redis诊断报告,发现网络出口流量出现100%的情况,存在读取时间过长的情况,推测是org服务单机连接redis查询超时导致请求响应缓慢引起故障,
9点23分 运维重启了所有org服务器,并加了一台服务器,系统恢复正常
暴露的问题
redis目前的占用空间比较大,部分key没有设置过期时间,某些key存在单个key的值较大的情况,需要对这些key做分析和优化
改进措施
1.定期分析redis中key的使用情况,对于不合理的情况考虑做优化,比如需要设置过期时间,大key是否可以做拆分等操作
2.增加关键服务的arms监控
3.生产环境redis慢请求优化
4.redis批量请求需要增加上限设置,补充规范
相关文章
- 大数据探索:在树莓派上通过 Apache Spark on YARN 搭建 Hadoop 集群
- 《云数据管理:挑战与机遇》2.3.1 预备知识
- 聊聊Zookeeper-快速开始
- 《云数据管理:挑战与机遇》2.3.3 恢复和提交
- 如何不使用DBCA在Oracle 11中删除数据库
- Kafka 0.8 配置参数解析
- 当MySQL数据库遭到攻击篡改后,使用备份和binlog进行数据恢复
- 《Mybatis官方文档》 – 动态 SQL
- 如何保障流式处理的数据一致性
- Apche Kafka 的生与死 – failover 机制详解
- 漫谈流式计算的一致性
- 什么样的云数据库架构选型才能做到安全,稳定又可靠?
- 如何通过 MySQL 的二进制日志恢复数据库数据
- 深入解析面向数据的哈希表性能
- 如何手动删除Oracle 11g数据库
- 101个MySQL调试和优化技巧
- 《架构真经:互联网技术架构的设计》分而治之
- 《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南(一)
- 《面向机器智能的TensorFlow实践》引言
- 《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南(二)