jmeter连接MongoDB

1、驱动包选择

如果MongoDB版本是3.x以下,那么用jmeter自带的mongo-java-driver-2.11.3.jar即可;
如果MongoDB版本是3.x以上,则需要mongo-java-driver-2.13.2.jar,或者更高版本。
将驱动包放在 apache-jmeter-x.x\lib目录下或者apache-jmeter-x.x\lib\ext目录下即可

2、添加Sampler,编写java代码访问mongo

可选择添加JSR223 Sampler(groovy)或者BeanShell Sampler,这2种采样器均支持java,但略有不同,语法有些许差异。此处以JSR223 Sampler(groovy)为例。




代码如下:

import com.mongodb.*;
import java.util.Set;

MongoClient mongoClient = new MongoClient("127.0.0.1",27017);  //根据IP、端口连mongo
DB db = mongoClient.getDB("test");   //选择数据库
Set<String> collectionNames = db.getCollectionNames();
log.info(db.getName() + "包含如下集合:" + collectionNames.size());
for (String collectionName : collectionNames) {
 log.info(collectionName);
}
log.info("数据库连接成功");
DBCollection dbCollection = db.getCollection("col_1");  //选择集合
log.info("集合连接成功");
BasicDBObject searchObj = new BasicDBObject();
searchObj.put("name", "zhf");
DBObject result = dbCollection.findOne(searchObj);
log.info("==============================>>>");
log.info(result.toString());
vars.put("email",result.get("email"));
log.info(vars.get("email"));

运行jmeter,查看效果:


3、由于直接在jmeter上写代码不是太方便,建议在IDEA上调试java代码

建maven项目,添加依赖,pom.xml文件参考如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>zhf</groupId>
    <artifactId>zhf</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.13.2</version>
        </dependency>
    </dependencies>
</project>

测试代码如下:

import com.mongodb.*;
import java.util.Set;

public class Test {
    public static void  main(String[] args){
        try {
            MongoClient mongoClient = new MongoClient("127.0.0.1",27017);
            DB db = mongoClient.getDB("test");
            Set<String> collectionNames = db.getCollectionNames();
            System.out.println(db.getName() + "包含如下集合:");
            for (String collectionName : collectionNames) {
                System.out.println(collectionName);
            }
            System.out.println("数据库连接成功");
            DBCollection dbCollection = db.getCollection("col_1");
            System.out.println("集合连接成功");
            BasicDBObject searchObj = new BasicDBObject();
            searchObj.put("name", "zhf");
            DBObject result = dbCollection.findOne(searchObj);
            System.out.println(result);
            System.out.println(result.get("sex"));
        } catch (Exception e) {
            System.err.println(e.getClass().getName() + ": " + e.getMessage());
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考github文章:https://github.com/jolestar/jmeter-mongodb-plu...
    Joey_GZ阅读 5,173评论 2 0
  • 公司最近需要测试后台性能,所以学习使用了Jmeter,在此做记录,也分享给更多需要的人。 这篇文章是 JMeter...
    顾顾314阅读 9,816评论 0 10
  • 首先环境的搭建,我是将zookeeper MongoDB redis 放在了203的服务器上,tomcat放在20...
    setsun阅读 6,049评论 0 1
  • JMeter简介 JMeter基本概念 Apache JMeter是Apache组织开发的基于Java的压力测试工...
    yo_哥阅读 8,097评论 0 19
  • 1. 这是一个燥热无风的午后。 天就像要坠下来了一样,沉沉地压在人们头顶上。空气里挟带着一股令人难以喘息的热浪,一...
    唐钰阅读 3,511评论 3 3

友情链接更多精彩内容