监视,跟踪和性能分析之间有什么区别?


16

我看到这三个词出现了很多,但是不了解它们之间的确切区别。例如,收集CPU利用率通常被称为概要分析,也可以用于性能监视。它们之间的(细微)区别是什么?

Answers:


11

这就是我用这些词的方式。其他人可能有其他或不同的用法。根据手头的工作,我将使用不同的术语。开发团队和运营团队有不同的用法需求。

监视就是监视。通常它是正在进行的,最好是自动化的。开源工具MuninNagios以及MRTG属于这一类。还有很多商业工具。我还将sar连续运行包括在此类别中,但通常不会监视其结果。当监视的资源高于或低于触发级别时,可以使用监视工具来触发警报。许多监视工具在异构环境中都能很好地工作。

通常在特定程序上进行性能分析,以查看哪个代码使用最多的资源。通常这是CPU时间,但也可以包括内存,I / O和执行(挂墙)时间。通常用于识别候选代码以进行优化。分析工具通常取决于语言和/或平台。

使用日志和/或监视数据可以完成另一种分析。这是使用情况分析,可以出于多种原因进行。我没有找到很多工具可以做到这一点。

我以两种不同的方式使用跟踪。最常见的是,我跟踪网络路由。根据网络和防火墙设置的不同,可以使用各种工具或多或少取得成功。其中大多数名称或描述中都包含traceroute。

程序跟踪正在跟踪程序的执行。这通常是在测试情况下完成的。这可以通过多种方式来完成(按照我的使用和经验顺序):

  • 使用诸如strace查看所调用代码之类的工具进行呼叫跟踪。这对于确定程序为什么失败或未按预期响应可能很有用。
  • 跟踪级别的日志记录,这取决于代码中包含适当的日志记录语句。大多数日志记录套件都支持这种详细程度。跟踪级别的日志记录往往覆盖较差的代码。我通常根据需要添加它,并将其保留在代码中以备将来使用。
  • 代码覆盖率跟踪记录在测试套件中执行了哪些代码部分。这在确定丢失的测试用例中可能很有用。100%的代码覆盖率很难获得。正常流量的覆盖率应达到100%。
  • 桌面检查:通过阅读来查找代码。在较大的程序上不是很有用,但是是一种确定单元测试边缘情况的好方法,也可以是/或在缩小可能的来源范围时识别可能的问题的好方法。Som = e IDE和编辑器使跟踪实现代码的调用相对容易。
  • 实时调试;使用调试器运行时跟踪代码执行。可以逐条指令跟踪执行指令,但是如果问题是计时问题,则可能会掩盖它。可以将代码链接到当前指令的调试器有很多帮助,但可能需要构建该程序的调试版本。

-1

在SAP WEB应用服务器中,我们可以定义以下三个关键字,如下所示:

Web提供的监视,跟踪和配置文件技术以及其他SAP和外部系统提供的那些技术,可以使用成熟的CCMS体系结构进行集成,这可以大大简化大型,分布式和异构安装的维护。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.