首页 / MONGODB / JMeter压测MongoDB
JMeter压测MongoDB
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JMeter压测MongoDB,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4310字,纯文字阅读大概需要7分钟。
内容图文
官方驱动:
https://mongodb.github.io/mongo-java-driver/
或者Maven:
https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.8.2</version>
</dependency>
把mongo-java-driver-3.8.2.jar放到/usr/local/jmeter/apache-jmeter-5.1.1/lib/ext目录下
rm -rf mongo-java-driver-2.11.3.jar
# 删除/usr/local/jmeter/apache-jmeter-5.1.1/lib目录中旧版本的mongo-java-driver jar包
2、在MongoDB中创建jmeter_test库与blazemeter_tutorial集合
3、编写脚本,采用JSR223 Sampler
名称 | 值 |
mongoHost | 192.168.1.111 |
mongoPort | 27017 |
databaseName | jmeter_test |
collectionName | blazemeter_tutorial |
import com.mongodb.client.MongoClients; import com.mongodb.client.MongoClient; import com.mongodb.MongoClientSettings; import com.mongodb.ServerAddress; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; try { MongoClientSettings settings = MongoClientSettings.builder() .applyToClusterSettings {builder -> builder.hosts(Arrays.asList(new ServerAddress(vars.get("mongoHost"),vars.get("mongoPort").toInteger())))} .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.setSuccessful(false); SampleResult.setResponseCode("500"); SampleResult.setResponseMessage("Exception: " + e); }
import com.mongodb.client.MongoCollection; import org.bson.Document; import java.util.Arrays; try { MongoCollection<Document> collection = vars.getObject("collection"); Document document = new Document("firstName", "Expert") .append("lastName", "Protocolson") .append("age", 37) .append("occupation", "DevOps") .append("skills", Arrays.asList("System Administration", "Linux")) .append("adress", new Document("city", "Systemberg") .append("street", "Data Line") .append("house", 42)); collection.insertOne(document); return "Document inserted"; } catch (Exception e) { SampleResult.setSuccessful(false); SampleResult.setResponseCode("500"); SampleResult.setResponseMessage("Exception: " + e); }
import com.mongodb.client.MongoCollection; import static com.mongodb.client.model.Filters.*; import org.bson.Document; import org.bson.types.ObjectId; try { MongoCollection<Document> collection = vars.getObject("collection"); Document result = collection.find(eq("firstName", "Expert")).first(); vars.put("exampleDocumentId", result.get("_id").toString()); return "Document with id=" + result.get("_id") + " found"; } catch (Exception e) { SampleResult.setSuccessful(false); SampleResult.setResponseCode("500"); SampleResult.setResponseMessage("Exception: " + e); }
import com.mongodb.client.MongoCollection; import static com.mongodb.client.model.Filters.*; import static com.mongodb.client.model.Updates.*; import org.bson.Document; import org.bson.types.ObjectId; try { MongoCollection<Document> collection = vars.getObject("collection"); collection.updateOne( eq("_id", new ObjectId(vars.get("exampleDocumentId"))), combine(set("occupation", "Project Manager"), set("adress.city", "New Codeshire"), currentDate("lastModified"))); return "Document with id=" + vars.get("exampleDocumentId") + " modified"; } catch (Exception e) { SampleResult.setSuccessful(false); SampleResult.setResponseCode("500"); SampleResult.setResponseMessage("Exception: " + e); }
import com.mongodb.client.MongoCollection; import static com.mongodb.client.model.Filters.*; import org.bson.Document; try { MongoCollection<Document> collection = vars.getObject("collection"); collection.deleteOne(eq("occupation", "Project Manager")); return "Document deleted"; } catch (Exception e) { SampleResult.setSuccessful(false); SampleResult.setResponseCode("500"); SampleResult.setResponseMessage("Exception: " + e); }
JMeter压测MongoDB
标签:ext god ddr 版本 group 目录 class ons tutorial
本文系统来源:https://www.cnblogs.com/yjlch1016/p/12250782.html
内容总结
以上是互联网集市为您收集整理的JMeter压测MongoDB全部内容,希望文章能够帮你解决JMeter压测MongoDB所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。