如何使用 JMeter 进行 JMS 性能测试?

How to do JMS performance testing with JMeter?

提问人:Cdac15655482 提问时间:11/17/2023 最后编辑:Justin BertramCdac15655482 更新时间:11/18/2023 访问量:29

问:

我正在使用注释从 Azure 服务总线队列中提取日志,然后将其保存到 Elasticsearch 中。@JmsListener

我需要使用 JMeter 进行性能测试。没有 http 终结点。我只是在应用程序启动后立即使用注释,它会自动从总线获取所有数据。有人可以在这方面提供指导吗?@JmsListener

我知道 JMeter 中有一个 JMS 订阅者和 JMS 点对点采样器选项,但是我需要设置哪些参数?有一个初始上下文工厂参数。我将其提供为 ,它给出了以下错误。org.apache.qpid.jms.jndi.InitialContextFactory

Response message:javax.naming.NamingException: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.qpid.jms.jndi.JmsInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.qpid.jms.jndi.JmsInitialContextFactory]

我在代码中使用了以下依赖项。

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
   <version>5.6.0</version>
</dependency>

有人可以帮忙进行此配置吗?

JMerter JMS 性能测试

评论


答:

0赞 Justin Bertram 11/17/2023 #1

要解决 ,您需要将 jar 包含在 JMeter 的类路径上。例如,您可以将其放到目录中。有关更多详细信息,请参阅文档javax.naming.NoInitialContextExceptionorg.apache.qpid.jms.jndi.InitialContextFactoryJMETER_HOME/lib

0赞 Dmitri T 11/18/2023 #2

看看 ActiveMQ JMS 的库,其中指出:

您需要将 jar 添加到您的类路径中,例如将其存储在目录中。activemq-all-X.X.X.jarlib/

有关详细信息,请参阅 ActiveMQ 初始配置页面

查看以下材料:

如果你更喜欢 Java 代码,你也可以考虑 JSR223 SamplerGroovy 语言

评论

0赞 Justin Bertram 11/18/2023
值得一提的是,OP 没有使用 ActiveMQ。他正在使用 Apache Qpid JMS 客户端。它使用 Azure 服务总线支持的 AMQP 协议。