繁体   English   中英

在应用程序服务器中运行微基准测试[JMH]

[英]Run Micro-benchmark in application servers [JMH]

我阅读了有关JMH的内容,并尝试了提供的示例。

我想做的是测量以下情况的统计数据,

[1]客户端订单-> [2]服务器-> [3]开始处理订单-> [4]成功处理了订单并准备发送-> [5]客户端收到响应

我可以成功完成[1]到[5]的场景。 在那里,我使用Benchmark.jar从@Benchmark注释方法中调用我的客户端

现在,我只能测量从[2]到[4]的统计数据,这些统计数据代表服务器端的处理。 我应该通过注释服务器端方法来做到这一点吗? 如果是这样,我该如何以获取基准统计信息的方式调用这些方法?

文档说The recommended way to run a JMH benchmark is to use Maven to setup a standalone project that depends on the jar files of your application. 这是否意味着我尝试的场景无法使用JMH?

更新:有没有一种方法可以通过rmi调用来调用@Benchmark带注释的方法?

@Benchmark Javadoc说:

 * <p>{@link Benchmark} demarcates the benchmark payload, and JMH treats it specifically
 * as the wrapper which contains the benchmark code. In order to run the benchmark reliably,
 * JMH enforces a few stringent properties for these wrapper methods, including, but not
 * limited to:</p>

@Benchmark是划定JMH应视为基准的代码段的注释。 不是魔术注释,它可以测量程序中其他位置的任何给定方法。 而且,您不应该自己调用@Benchmark方法。

您想要的不是基准测试,而是跟踪/监视/性能分析解决方案,它可以检测和说明请求经过的所有阶段。 JMH不是这样的解决方案,您应该去别处。

您可以在用例中使用诸如石墨之类的监控工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM