gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:25:03 27 4
gpt4 key购买 nike

我读到了JMH并尝试了提供的示例。

我想做的是测量以下场景的统计数据,

[ 1] client order -> [2] server -> [3] start processing the order -> [4] processed the order successfully and ready to send -> [5] client receive the response

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

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

文档说运行 JMH 基准测试的推荐方法是使用 Maven 设置一个依赖于应用程序的 jar 文件的独立项目。 这是否意味着我正在尝试的场景不是可以使用 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 不是这样的解决方案,您应该寻找其他地方。

关于java - 在应用程序服务器中运行微基准测试 [JMH],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28936559/

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