Redis 源码剖析与实战
蒋德钧
中科院计算所副研究员
17747 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
Redis 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

30 | 如何在系统中实现延迟监控?

你好,我是蒋德钧。
我们知道,Redis 的一个显著特征就是能提供低延迟的数据访问。而如果 Redis 在运行过程中变慢了,我们就需要有方法能监控到哪些命令执行变慢了。更进一步的需求,就是我们需要有方法监控到,是 Redis 运行过程中的哪些事件导致 Redis 变慢了。这样一来,我们就既可以检查这些慢命令,分析它们的操作类型和访问的数据量,进而提出应对方法,也可以检查监控记录的事件,分析事件发生的原因并提出应对方法。
那么,为了满足这些需求,我们就需要有一套监控框架,一方面能监测导致 Redis 变慢的事件,另一方面,能监控并记录变慢的命令。其实,这也是我们在开发后端系统时,经常会面临的一个运维开发需求,也就是如何监控后端系统的运行状态
今天这节课,我就来带你了解 Redis 的延迟监控框架和慢命令日志的设计与实现。掌握今天的课程内容后,一方面,你可以把这套监控框架应用到实际的业务,而另一方面,你也可以参考 Redis 的实现,给自己的系统增加延迟监控功能。
下面,我们就先来看下 Redis 实现的延迟监控框架。

延迟监控框架的实现

实际上,Redis 在运行过程中,以下表格中给出的几类事件都会导致 Redis 变慢,我们通常也把这些事件称为延迟事件。你可以参考表格中的这些事件类型,以及它们在源码中对应的事件名称。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Redis延迟监控框架和慢命令日志是本文的主要内容。该框架实现了对可能导致Redis运行变慢的事件类型的记录和分析,通过采样记录超过阈值的事件时长,并提供统计计算和应对措施设计。慢命令日志则记录超出阈值的命令及参数,以及发送命令的客户端信息,方便运维人员查看分析。文章介绍了监控框架的实现逻辑、采样函数和延迟事件的统计计算过程,以及慢命令日志的记录逻辑。读者可以了解Redis延迟监控框架的设计思路和实现细节,以及如何在实际应用中使用该框架进行延迟监控和分析。文章还提到了Redis的INFO命令用于记录实时运行状态或资源使用情况。总的来说,本文深入介绍了Redis延迟监控框架和慢命令日志的实现细节,为读者提供了深入了解Redis监控和分析的知识。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Redis 源码剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 斩弦
    蒋老师好,今天很巧正好在思考延时的问题,同时看到了更新了这节课, 我的问题(1)./redis-cli --intrinsic-latency xxx这个命令能够看到内核本身的延时,因为我们的redis环境是部署在虚拟化环境的,时不时会有延时增大的现象发生,也有过发生问题后排查到集中发生在某个虚机所在的宿主机上,问题处理就是将这个虚机迁移到了其他的宿主机上,那么能否围绕./redis-cli --intrinsic-latency这个命令,我们可以自行开发一个逻辑,每10s或者15s采样一次,然后作为CPU内核延时的指标值,放到我们的监控逻辑中,这个耗时可以作为问题出现时的一个参考,作为问题出现时的一个重要的延时的成分; 另外还有一个问题(2)latency monitor这个功能对系统的性能影响是否明显呢,其实看到了这个功能后,有想要尝试使用这个功能以扩展延时问题排查时的手段
    2021-10-19
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部