首页 > 解决方案 > 使用 Jmeter 进行 Cassandra 测试

问题描述

我无法使用 Jmeter 运行 Cassandra。即使包含 Cassandra Jmeter 插件的所有 jar 文件,也会显示以下错误:

Response message: javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during class generation: java.lang.NoClassDefFoundError: Unable to load class com.datastax.driver.core.Session due to missing dependency org/apache/cassandra/transport/Message$Request

标签: javagroovyjarcassandrajmeter

解决方案


您收到的错误是关于 JMeter 类路径中缺少 org.apache.cassandra.transport.Message 类,该类可以在cassandra-all.jar中找到,但是您需要选择正确的版本以避免Jar Hell

查看JMeter Cassandra 插件安装说明,您需要:

  1. 构建插件:

    mvn dependency:copy-dependencies install -DexcludeGroupIds=org.apache.jmeter
    
  2. 将插件复制到 JMeter 的“lib/ext”文件夹:

    cp -Rf ~/CassJMeter/target/CassJMeter-0.2-SNAPSHOT.jar lib/ext/
    
  3. 将所有插件的依赖项复制到 JMeter 安装的“lib”文件夹中:

    cp -Rf ~/CassJMeter/target/dependency/* lib/
    
  4. 重新启动 JMeter 以拾取 .jars

确保cp命令成功,你可以通过echo $?在终端中运行来检查它的状态码,它应该返回0

您可能还会发现以下文章很有用:


推荐阅读