【问题标题】:Performance tests性能测试
【发布时间】:2017-07-06 22:19:04
【问题描述】:

如何在 Java 上进行性能测试?例如执行时间、内存使用轨迹、每秒操作轨迹以及可能还有其他有用的测试。如何在不影响实际应用工作的情况下实现这个测试(没有这个测试)?我的意思是,如果没有这些测试,我可以确信我的应用程序可以在平均性能相同的情况下工作。

注意:我需要在我的测试类中附加一个特定的工具。我知道有许多不同的工具可以测试应用程序的大量 VM 参数。我需要编写一个具有不同测试参数的测试类,我可以根据需要处理这些值。如果 API 支持这些参数的图形 GUI,那就太好了。

【问题讨论】:

  • 可以使用jprofiler、jprobe等专业工具。
  • 拥有 15 年的性能测试系统经验,这不是您可以得到简短描述的东西。原因是您可以执行简单的测试,但这些测试无法让您知道实际系统中的性能。
  • 我建议您在发现性能问题时使用分析器。
  • 您可以尝试openjdk.java.net/projects/code-tools/jmh 进行时间基准测试。

标签: java performance


【解决方案1】:

您可以使用 jconsole、visual vm 等工具,尤其是用于内存。这些与 Jdk 捆绑在一起。 至于您的应用程序的速度,通常日志消息可以帮助您。如果日志消息遵循标准,您几乎可以编写自己的脚本来为您提供格式化的结果。此外,编写测试类以让您对不同负载的性能有一个公平的了解是一个好主意。

http://visualvm.java.net/gettingstarted.html

【讨论】:

  • 我在 Google 中查看了 jConsole 是什么,我发现这是一个独特的工具。但是您建议编写一个测试类,这是我的主要目标。什么是包或类?
  • JUnit 和 TestNG 是我编写测试的最爱。不过,您也可以探索clarkware.com/software/JUnitPerf.html。如果我们知道具体情况,也许我们可以举个例子来帮助你。
【解决方案2】:

我会推荐 jProfile 用于性能测试和 jConsole 用于监控内存使用等......

【讨论】:

【解决方案3】:

我假设您的服务器托管在 linux 环境中。 Jconsole 和 Visualvm 确实有助于监控你的内存和性能。作为一种变通方法,您还可以使用 sar、top 和 mpstat 命令来获取所需的值。 您必须通过命令 sudo apt-get install sysstat 在您的 linux 服务器上安装 sar 包。您可以参考“http://www.thegeekstuff.com/2011/03/sar-examples/?utm_source=feedburner”了解更多关于commnads的信息。 您无需管理员权限即可配置任何这些命令。

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 2012-05-02
    • 2018-12-22
    • 2012-02-02
    • 2017-04-17
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多