在当今数字时代,软件系统在我们的生活和工作中发挥着越来越重要的作用。我们需要确保这些系统能够在高负载、高并发的情况下稳定运行,为用户提供良好的体验。为了实现这一目标,我们需要关注系统性能监控指标,洞察系统运行的关键脉搏。本文将从指标分类、指标详细说明等方面介绍系统性能监控指标的相关知识,帮助你更好地理解和应用这些关键数据。
指标分类:多维度看系统性能
指标其实非常多,在公司就监控管理的人更能体会,动不动就是成千上万的指标,不仅管理的人头皮发麻,看的人也头皮发麻(当然,可能跟具体的公司业务有关)。
这里,我就不把事情搞复杂了,整体我认为可以按以下方式进行分类:
指标分类 | 说明 |
基础设施指标 | 衡量系统底层基础设施的健康状况,包括服务器、网络、存储等 |
应用程序指标 | 衡量应用程序的性能和可用性,包括请求响应时间、吞吐量、错误率等 |
用户体验指标 | 衡量用户在使用系统时的体验和满意度,包括页面加载时间、页面渲染时间、交互响应时间等 |
业务指标 | 衡量系统对业务的贡献,包括销售额、转化率、市场份额等。 |
每个分类的关注人群会不一样,比如老板们可能更关注业务指标,用户更关注使用体验,开发或运维就更关注应用本身和基础设施了。
指标详细说明:深入解析具体的指标
基础设施指标
类型 | 指标 | 说明 |
服务器 | CPU 利用率 | CPU 在某一时刻内的使用率,通常以百分比表示,高 CPU 利用率可能会导致系统响应缓慢或崩溃。 |
内存使用率 | 系统内存在某一时刻内的使用率,通常以百分比表示,当内存使用率过高时,可能会导致系统变慢、程序崩溃等问题。 | |
磁盘空间使用率 | 磁盘容量在某一时刻内的使用率,通常以百分比表示,当磁盘空间使用率过高时,可能会导致系统崩溃或无法写入新数据。 | |
磁盘读写速度 | 磁盘读取和写入数据的速度,通常以 MB/s 表示,磁盘读写速度较低可能会导致程序响应缓慢。 | |
网络延迟和带宽 | 指网络传输数据的速度和时间延迟,网络延迟和带宽越高,网络传输速度越快,系统响应也更加及时。 | |
进程数量 | 系统中正在运行的进程数量,进程数量过多可能会导致系统资源耗尽,从而影响系统性能。 | |
系统负载 | 指系统在某一时刻内的负载状况,通常以 1 分钟、5 分钟和 15 分钟的平均负载来表示,系统负载越高,表明系统正在处理更多的任务,也可能会导致系统响应变慢。 | |
数据库 | 执行耗时 | SQL 语句执行耗时统计,有助于发现并解决慢查询 |
吞吐量 | QPS(每秒查询次数)和 TPS(事务每秒执行次数) | |
命中率 | 缓存命中率监控,有助于排查并提升 SQL 语句的执行效率 |
应用程序指标
指标 | 说明 |
请求响应时间 | 请求响应时间是指从发送请求到接收响应所需的时间,这通常以毫秒为单位测量,较短的响应时间意味着应用程序能够快速响应用户请求,提高用户体验和满意度。 |
吞吐量 | 吞吐量是指在一段时间内处理的请求数量,这通常以每秒钟处理的请求数(QPS)或每分钟处理的请求数(RPM)来测量,高吞吐量表示应用程序能够同时处理更多的请求,因此具有更好的性能。 |
错误率 | 错误率是指发生错误的请求数与总请求数之间的比率,它通常以百分比表示,较低的错误率表示应用程序的稳定性和可靠性更高。 |
并发数 | 并发数是指同时处理的请求数量,如果应用程序无法处理大量并发请求,则会导致响应延迟和性能下降。 |
用户体验指标
指标 | 说明 |
页面加载时间 | 指从用户请求页面到页面完全加载完成所需的时间。它包括了网络延迟、DNS 查询、服务器响应时间、下载资源等等因素。这个指标可以帮助你了解你的网站是否需要优化以提高页面加载速度。 |
页面渲染时间 | 指从页面开始加载到页面呈现给用户之间的时间。这个指标会受到浏览器性能、JavaScript 代码复杂度、CSS 文件大小、图片数量等多种因素的影响。如果你的网站的页面渲染时间过长,可能会导致用户流失或者对用户体验造成负面影响。 |
交互响应时间 | 指用户与网站进行交互(如点击按钮、输入文本)时,从用户操作到页面响应之间的时间。这个指标是用户体验的重要组成部分,若响应时间太长,对用户造成负面影响 |
业务指标
分类 | 指标 | 说明 |
用户指标 | 日新增活跃用户数 | 指在某一天内新注册并且在这一天内有活跃行为的用户数量。活跃行为可以是在产品/服务中进行任何有意义的操作,如阅读内容、发表评论、点赞等。这个指标可以帮助我们了解产品/服务的用户增长情况,以及新用户对产品/服务的参与度。 |
活跃用户 | 指在一定时间内(通常是一个月)内至少有一次活跃行为的用户数量。这个指标可以帮助我们了解产品/服务的用户参与度和活跃度,以及用户对产品/服务的满意度。 | |
留存用户 | 指在某一个时间段内(通常是一个月或更长时间)内至少有一次活跃行为的用户数量,相对于该时间段的总注册用户数的比例。这个指标可以帮助我们了解产品/服务的用户忠诚度和用户满意度,以及产品/服务的长期用户增长情况。留存用户率越高,说明产品/服务的用户满意度和忠诚度越高,也说明产品/服务的长期用户增长趋势越稳定。 | |
行为指标 | PV(访问次数) | 指在某一时间段内网站或应用程序中的页面被访问的总次数。每当用户打开一个页面,就会增加一次 PV,PV 是衡量网站流量的重要指标,可以反映出网站的受欢迎程度、用户活跃度、内容质量等方面的情况。通常情况下,PV 数越高,说明网站的流量越大,也意味着网站的曝光率越高,用户的活跃度也越高。 |
UV(访问人数) | 指一定时间内(通常为一天)访问网站或应用程序的独立用户数量。对于衡量网站或应用程序的受众规模非常有用,并且可以帮助营销人员确定其市场份额和潜在受众。 | |
转化率 | 指在某个时间段内,完成了预设目标的用户数量与总用户数量之间的比率。它用于衡量一个产品、服务或者网站的营销效果,反映了用户在经历了一系列环节后最终完成目标的比率,比如购买商品、注册账号、填写问卷等。转化率可以帮助我们了解用户对于产品或服务的兴趣程度,以及产品或服务的销售质量和效果如何。 | |
产品指标 | 收入和利润 | 衡量产品所带来的经济效益,包括总收入、净利润、每用户平均收益等指标,这个指标可以帮助团队了解产品的商业价值和盈利能力。 |
产品排行 | 衡量产品的受欢迎程度,利于运营推广 |
业务指标涵盖的范围很多,把握“领导驱动、数据驱动”来做。
其他指标
除了上面的指标之外,还会有其他指标,比如:
- 中间件指标,比如 MQ、Nacos、JVM 等
- 稳定性指标,比如常说的 4 个 9,5 个 9 等
- 可靠性指标,比如备份和恢复、集群可靠性等
指标很多,主要是区分指标,哪些有用,哪些没用。是什么人关注什么指标,按照不同的类型进行分类,方面管理和维护。
总结
本篇文章主要是从广义上来定义系统的性能指标,主要包括:
- 基础设施指标
- 应用程序指标
- 用户体验指标
- 业务指标
- 其他指标
image.png
但是整体还是比较空泛,因为落地到每个公司会进行调整和适配。