性能优化高手课
尉刚强
资深软件设计咨询顾问
19574 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 31 讲
性能优化高手课
15
15
1.0x
00:00/00:00
登录|注册

24 | 动态监控:你的产品系统中有动态监控的能力吗?

你好,我是尉刚强。今天,我们来讨论下与系统动态监控相关的能力和配置思路。
对于从事 Java 语言开发的程序员来说,应该基本上都使用过 Slf4j+Logback 来打印日志。而对于一些软件性能要求比较高的系统来说,为了减少日志打印对性能的影响,默认情况下,系统一般只会打开 WARN 或 ERROR 级别的日志。
那么,如果软件系统在执行的过程中出现了一些异常情况,需要做进一步的分析,想要打开 INFO 级别的日志,该怎么办呢?其实这个时候,你就需要在软件执行期间,实现动态修改日志打印级别的能力。
这里我们以 Logback 配置为例,其修改打印日志级别的代码如下所示:
LoggerContext loggerContext =
(LoggerContext) LoggerFactory.getILoggerFactory();
Logger logger = loggerContext.getLogger("root");
((ch.qos.logback.classic.Logger)logger).setLevel(Level.valueOf(logLevel));
当然,你也可以给软件提供一个外部接口(比如 REST 接口),然后在接口实现中去调用以上代码来修改打印级别,其实这就是一个比较简单的动态监控手段。
所以在今天这堂课上,我会从互联网应用服务领域出发,带你分析在软件系统的开发过程中,都应该扩展实现哪些动态监控的机制和能力,以及剖析在系统中实现动态监控配置的过程,从而帮助你系统化地理解和认识动态监控的手段和能力。这样,你在参与开发高性能软件系统时,就知道如何设计并实现动态监控机制来支撑对软件的性能调优了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了动态监控在软件系统中的重要性,特别是对于高性能软件系统的必要性。文章从动态监控的必要性出发,探讨了在软件开发过程中应该扩展实现哪些动态监控的机制和能力,以及剖析了在系统中实现动态监控配置的过程。通过实际案例阐述了动态监控的优势,强调了观测手段实现可能带来的性能开销,以及在高负载模式下观测手段失效对软件业务性能分析的影响。文章以Java语言开发为例,介绍了如何通过Slf4j+Logback来实现动态修改日志打印级别的能力,以及通过外部接口实现动态监控的简单手段。总的来说,本文为读者提供了对动态监控的深入理解和认识,使读者能够在开发高性能软件系统时,知道如何设计并实现动态监控机制来支撑对软件的性能调优。文章还探讨了高性能系统应该实现哪些动态监控能力,以及如何对软件系统进行动态监控的配置,为读者提供了全面的技术指导和实践建议。文章强调了在软件产品设计与实现中,需要添加监控手段获取业务相关的观测信息,以支持业务的故障定位和性能分析。针对对性能要求非常苛刻的软件系统,动态监控成为了一种必然的选择。读者可以借鉴本文内容,分析自己当前业务场景中的监控观测机制,并设计实现动态监控的配置能力,以帮助软件系统追求高性能并具备足够强的观测分析手段。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能优化高手课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部