衡量网络Java应用程序的性能

时间:2015-04-23 10:30:45

标签: java performance jmeter

我们希望自动衡量Java产品的性能。

我们希望获得以下指标:

  • 处理器加载
  • 内存加载
  • 网络加载
  • 项目相关指标

我们希望在Jenkins服务器上连续运行这些性能测试。上面的项目相关绩效指标和系统指标将显示为一些趋势图。

您能否建议一个Java性能框架或者自动测量系统指标的方法?

我找到了list of open source performance test tools并考虑使用JMeter Java Sampler并从Java代码运行它。但我对JMeter并不熟悉,也不确定这是一个正确的选择。

2 个答案:

答案 0 :(得分:1)

您可能希望使用某种JMX监视/分析工具,例如VisualVM,https://visualvm.java.net/。它提供了详细的处理器负载,内存负载(由JVM内存池拆分),您可以通过在代码中编写自定义MBean来扩展它以添加自己的指标。

我曾在以前的工作中构建监控Web应用程序 - 它定期通过JMX从服务器收集信息,并将该信息固定到Graphite实例,以便我们可以长时间跟踪指标。你可以考虑做类似的事情。 VisualVM虽然是一个很好的临时解决方案。

答案 1 :(得分:1)

JMeter是一个很好的选择,因为它是免费和开源的,它可以扩展,它是基于Java的,可以很容易地作为CI流程的任务添加。

参考文献:

  1. JMeter PerfMon Plugin - 服务器性能监控报告CPU,RAM,网络和磁盘IO
  2. 有一个JMeter Jenkins plugin将JMeter测试本机集成到持续构建过程中
  3. JMeter测试可以作为OS命令行任务,Ant任务,Maven插件,从Java代码启动,您可以使用JMeter API动态构建和执行测试。有关详细信息,请参阅5 Ways To Launch a JMeter Test without Using the JMeter GUI指南。