我想使用Jmeter对我的MongoDB 4.2服务器进行压力测试。 现在,我没有使用任何特定的配置,我只是在localhost上启动mongod实例。
我按照本指南设置了jmeter:https://www.blazemeter.com/blog/mongodb-performance-testing-with-jmeter。 但是,我无法正确运行以下测试:
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import static com.mongodb.client.model.Filters.*;
import org.bson.Document;
import org.bson.types.ObjectId;
import java.util.Arrays;
try{
MongoClient mongoClient = MongoClients.create();
MongoDatabase database = mongoClient.getDatabase(vars.get("databaseName"));
MongoCollection<Document> collection = database.getCollection(vars.get("collectionName"));
Document document = new Document("_id", 7);
collection.insertOne(document);
}
catch (Exception e){
SampleResult.setSuccessful(false);
SampleResult.setResponseCode("500");
SampleResult.setResponseMessage("Exception: " + e);
}
由于此错误:
2020-05-29 14:30:07,987 INFO o.m.d.cluster: Exception in monitor thread while connecting to server localhost:27017
com.mongodb.MongoException: org.bson.BsonSerializationException: Detected unknown BSON type "\x7b" for fieldname "^A". Are you using the latest driver version?
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:138) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) [mongo-java-driver-3.12.4.jar:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.bson.BsonSerializationException: Detected unknown BSON type "\x7b" for fieldname "^A". Are you using the latest driver version?
at org.bson.BsonBinaryReader.readBsonType(BsonBinaryReader.java:96) ~[bson-3.12.4.jar:?]
at com.mongodb.internal.connection.ProtocolHelper.getField(ProtocolHelper.java:147) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.ProtocolHelper.getOperationTime(ProtocolHelper.java:102) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnection.updateSessionContext(InternalStreamConnection.java:537) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:301) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:259) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) ~[mongo-java-driver-3.12.4.jar:?]
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129) ~[mongo-java-driver-3.12.4.jar:?]
... 2 more
我尝试了以下MongoDB Java驱动程序组合(在jmeter / lib和jmeter / lib / ext文件夹中):
您能帮我找出问题所在吗?
答案 0 :(得分:0)
我正在运行一个由我自定义的mongod实例,但是我忘记存储对消息格式所做的更改:因此mongo驱动程序无法与服务器通信。
所以问题出在我的愚蠢而不是jmeter。