Redis阻塞
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
可能存在问题
- 内在原因:API或数据结构使用不合理、CPU饱和、持久化阻塞等
- 外在原因:CPU竞争、内存交换、网络问题等
问题处理:
- API或数据结构使用不合理,可能存在慢查询或者大对象:
- 发现慢查询 slowlog get {n} : 降低低算法度命令、拆分大对象
- 发现大对象 --bigkeys
- CPU饱和,Redis并发量过多导致把CPU使用率跑到100%
- OPS压力过大时需要通过水平扩展分摊OPS压力
- OPS不大时可能是因为使用了高算法度命令或过度内存优化,利用info commandstats分析不合理开销的命令
- 持久化阻塞,可能为fork阻塞、AOF刷盘阻塞或HugePage写阻塞
- CPU竞争
- Redis为典型的CPU密集型应用,不应与其他CPU密集型服务部署在一起
- Redis绑定CPU减少上下文切换,提高性能,但持久化时子进程会与父进程同时使用同一CPU且占用CPU达90%以上,导致父子进程CPU激烈竞争
- 内存交换,Redis使用的内存被交换到硬盘导致性能大为下降
- 保证机器内存充足、确保Redis的maxmemory、降低swap优先级
- 网络问题,连接拒绝、网络延时、网卡软中断。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341