我想使用JMeter(5.6.2)来测量MongoDB数据库的性能。
从https://www.blazemeter.com/blog/mongodb-performance我得到了一个“直升机世界”的代码。添加了来自https://mongodb.github.io/mongo-java-driver/3.5/driver/tutorials/authentication/的凭据。最后是代码:
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.MongoClientSettings;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoCredential;
import org.bson.Document;
import java.util.Arrays;
try{
MongoCredential credential = MongoCredential.createCredential(vars.get("user"), vars.get("databaseName"), vars.get("password"))
MongoClientSettings settings = MongoClientSettings.builder()
.applyToClusterSettings {builder ->
builder.host(Arrays.asList(new ServerAddress(vars.get("mongoHost"),vars.get("mongoPort").toInteger())))}
.credentials(credential)
.build();
MongoClient mongoClient = MongoClients.create(settings);
MongoDatabase database = mongoClient.getDatabase(vars.get("databaseName"));
MongoCollection<Document> collection = database.getCollection(vars.get("collectionName"));
vars.putObject("Collection", collection);
return "Connected to " + vars.get("collectionName");
}
catch (Exception e) {
SampleResult.setSuccssful(false);
SampleResult.setResponseCode("500");
SampleResult.setResponseMessage("Exception: " + e);
}
更改路径import com.mongodb.client.MongoClient;
并不能解决问题。使用Java而不是Groovy也不能解决这个问题。
当我运行它时,我得到了错误:
Response message:javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script2.groovy: 1: unable to resolve class com.mongodb.client.MongoClient
@ line 1, column 1.
import com.mongodb.client.MongoClient;
我错过了什么?
注意:我使用的是/lib/mongodb-driver-3.4.2.jar和Groovy 3.0.17
编辑:将驱动程序放在/lib/ext中并不能解决问题。
1条答案
按热度按时间krcsximq1#
article you've mentioned说道:
为了在JMeter脚本中使用MongoDB Java Driver,请下载最新版本的mongo-java-driver jar文件,并将其放在JMeter主文件夹下的lib/ext文件夹中。
因此,如果您已经将选择的MongoDB Java Driver放入JMeter Classpath(JMeter安装的“lib”文件夹),则需要重新启动JMeter以获取. jar。
如果您还没有选择您试图模拟的系统所使用的版本。代码也应该从那里获取,因为你不需要运行“hello world”,你需要模仿MongoDB示例的真实使用。