gpt4 book ai didi

java - 在自动化 Java 性能测试期间监控和记录系统指标的工具

转载 作者:行者123 更新时间:2023-12-01 22:18:10 24 4
gpt4 key购买 nike

我们有一个在其核心使用 Spring Integration 的应用程序,并创建了性能测试来查看不同生成的输入类型的处理速度(消息/秒)。

此过程是自动化的,因此每当运行此类测试时,都会在云中创建一个单独的实例,并在复制完成和输出工件后进行处置。

我想要做的是在运行期间监控这些性能测试的基本系统指标——CPU、内存、I/O、GC 运行/时间。显然,其结果应该是一些带有指标读数的 CSV 文件(例如,每秒一次或两次)。

所以我的问题是:是否有用于这些目的的良好且可配置的工具?

我正在调查中,但到目前为止我审查的分析工具主要需要人机交互并且是面向 UI 的。

我正在考虑的一个选择是编写一个单独的工具来访问 MXBean 并使用它在性能测试期间记录此类数据。只是想知道周围是否有什么好东西。

请注意,该应用程序在 Tomcat 中运行,但是对于性能测试,我们仅使用 Spring Integration 的文件端点。

另请注意,应用程序内的“可切换”组件也是可能的解决方案。不过,我目前正在寻找与应用程序无关的外部工具优先解决方案。

最佳答案

命令行工具可以帮助解决这种情况:

在基于 Linux/Solaris 的环境中:

  1. 在为基于 Spring 的应用程序运行/触发 JVM 之前,您可以在后台模式下运行 vmstatsar 等工具,并将其输出重定向到平面文件 -这有助于捕获 CPU、内存和其他此类统计数据。如果您似乎遇到性能问题,请使用带有选项的 topmpstat 获取线程级统计信息,以进行瓶颈分析。
  2. 现在使用 printgc-Xloggc 等参数运行 JVM,将 JVM 详细输出写入平面文件或打印 gc 静态信息。查看调试选项部分,了解 Java HotSpot VM Options 中的 JVM 参数。了解您需要的更多选项。

提示:创建一个结合上述两个命令的 shell 脚本,以同时运行并实现您的要求。

Windows环境中:

  1. 要在命令行上收集操作系统统计信息,您可以使用 typeperf 或 Tracerpt(支持 CSV)。
  2. 现在使用 printgc-Xloggc 等参数运行 JVM,将 JVM 详细输出写入平面文件或打印 gc 静态信息。查看调试选项部分,了解 Java HotSpot VM Options 中的 JVM 参数。了解您需要的更多选项。

关于java - 在自动化 Java 性能测试期间监控和记录系统指标的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30569479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com