当前位置: 首页 > 知识库问答 >
问题:

在应用服务器中运行微基准测试

宿嘉
2023-03-14

我阅读了有关JMH的信息,并尝试了提供的样本。

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

【1】客户订单-

我可以成功地完成[1]到[5]场景。在这里,我使用Benchmark从@Benchmark注释方法调用我的客户机。罐子

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

文档中说,运行JMH基准测试的推荐方法是使用Maven来设置一个独立的项目,该项目依赖于应用程序的jar文件 这是否意味着我正在尝试的场景不可能使用JMH?

更新:有没有办法通过rmi调用调用@Benchmark注释方法?

共有2个答案

高功
2023-03-14

您可以将石墨等监控工具用于您的用例。

酆茂才
2023-03-14

@BenchmarkJavadoc说:

 * <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应视为基准测试主体的代码段划分为不同的部分。它不是度量程序中其他地方任何给定方法的神奇注释。而且,您不应该自己调用基准方法。

您想要的不是基准测试,而是一个跟踪/监控/分析解决方案,它可以检测和计算请求通过的所有阶段。JMH不是这样的解决方案,您应该去别处看看。

 类似资料:
  • 这里有一些在服务器运行 WSGI 应用的方式。当你正在开发一个应用,你往往不想在一个成 熟服务器上部署和运行,取而代之的是一个轻量服务器。 Werkzeug 就内置了这样一个轻量 的服务器。 在一个服务器上运行 start-myproject.py 最简单的方法如下示例: #!/usr/bin/env python # -*- coding: utf-8 -*- from werkzeug.se

  • 问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指

  • 是否有一种带注释的方法来引入这种测试分类并分别调用每个类别?例如。注释方法将是第一类,然后虚构的方法将只是用于诊断报告的日志性能指标,而不是执行决定成败的断言。我认为测试类是定位这些基准测试方法的最佳方式,但我不知道如何在Ant中封装它们的调用,以便它们单独运行。例如,是否可以在每个方法前缀“benchmark”,并告诉Ant只运行前缀有该前缀的方法,或者我可以编写自己的注释?

  • 我开发了一个服务于rest服务的独立spring boot应用程序,我把它打包成了一个< code>jar,它运行正常。为了在生产服务器(Websphere)上发布它,我必须将它转换成一个< code>war。 我已经更新了我的<code>pom。xml添加以下行: 然后,我启动了,我得到了。因此,在Tomcat服务器上发布它可以正常工作,但在Liberty上我收到了错误: 我还修改了我的入口点,

  • 我正在尝试在一个使用chrome的Linux服务器上运行一个使用selenium webdriver实现的测试,并且不显示我的java代码 要运行此程序(jar),请使用以下命令启动Xvfb 当我运行程序时,经过一段长时间的等待,我得到了这个异常 当我尝试单独运行chrome时,a遇到了这个问题 问题是: 是在定位驱动程序的问题还是在chrome或我需要一些额外的配置?

  • 但问题是插件找不到任何测试,因为它们在其他模块中。 你能告诉我如何在第一个模块中设置故障安全查找测试吗?或者其他解决方案例如从父级运行?