分析和诊断(性能计数器和监视)之间的区别



我正在致力于实现原型性能监控系统,为了理解这个概念,我查阅了多个文档和资源,但仍然混淆了评测和诊断。有人能解释一下这两个术语、它们的关系以及我们在何时何地使用它们吗?

"评测"通常意味着将系统中发生的事情(例如,性能监视事件)映射到进程,或映射到进程中的函数(或指令)。Unix/Linux世界中的评测工具示例包括"gprof"one_answers"oprofile"。英特尔的"VTune放大器"是另一个常用的分析器。一些评测器仅限于查看单个进程的性能,而其他评测器(通常需要提升权限)则在测量期间监视系统上运行的所有进程(包括内核)。

"诊断"不是我在性能监控中经常看到的术语,但从上下文来看,我认为这意味着在系统的整体运行中寻找"故障"的证据。例如https://github.com/TACC/tacc_stats收集每个服务器上的硬件和软件性能监控数据。在TACC的操作中,数据会被自动审查,以寻找与已知的低性能模式相关的各种启发式方法的匹配(例如,所有内存访问都是对2套接字系统中的一个套接字进行的)。人工性能分析师还使用这些数据来响应用户查询,并对其进行汇总,以提供按应用领域划分的性能相关特征的概述。

最新更新