jmeter連接MongoDB

1、驅(qū)動(dòng)包選擇

如果MongoDB版本是3.x以下,那么用jmeter自帶的mongo-java-driver-2.11.3.jar即可;
如果MongoDB版本是3.x以上,則需要mongo-java-driver-2.13.2.jar,或者更高版本。
將驅(qū)動(dòng)包放在 apache-jmeter-x.x\lib目錄下或者apache-jmeter-x.x\lib\ext目錄下即可

2、添加Sampler,編寫java代碼訪問(wèn)mongo

可選擇添加JSR223 Sampler(groovy)或者BeanShell Sampler,這2種采樣器均支持java,但略有不同,語(yǔ)法有些許差異。此處以JSR223 Sampler(groovy)為例。




代碼如下:

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

MongoClient mongoClient = new MongoClient("127.0.0.1",27017);  //根據(jù)IP、端口連mongo
DB db = mongoClient.getDB("test");   //選擇數(shù)據(jù)庫(kù)
Set<String> collectionNames = db.getCollectionNames();
log.info(db.getName() + "包含如下集合:" + collectionNames.size());
for (String collectionName : collectionNames) {
 log.info(collectionName);
}
log.info("數(shù)據(jù)庫(kù)連接成功");
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"));

運(yùn)行jmeter,查看效果:


3、由于直接在jmeter上寫代碼不是太方便,建議在IDEA上調(diào)試java代碼

建maven項(xiàng)目,添加依賴,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>

測(cè)試代碼如下:

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("數(shù)據(jù)庫(kù)連接成功");
            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());
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 參考github文章:https://github.com/jolestar/jmeter-mongodb-plu...
    Joey_GZ閱讀 1,427評(píng)論 2 0
  • 公司最近需要測(cè)試后臺(tái)性能,所以學(xué)習(xí)使用了Jmeter,在此做記錄,也分享給更多需要的人。 這篇文章是 JMeter...
    顧顧314閱讀 4,517評(píng)論 0 10
  • 首先環(huán)境的搭建,我是將zookeeper MongoDB redis 放在了203的服務(wù)器上,tomcat放在20...
    setsun閱讀 2,059評(píng)論 0 1
  • JMeter簡(jiǎn)介 JMeter基本概念 Apache JMeter是Apache組織開發(fā)的基于Java的壓力測(cè)試工...
    yo_哥閱讀 3,140評(píng)論 0 19
  • 1. 這是一個(gè)燥熱無(wú)風(fēng)的午后。 天就像要墜下來(lái)了一樣,沉沉地壓在人們頭頂上??諝饫飹稁е还闪钊穗y以喘息的熱浪,一...
    唐鈺閱讀 589評(píng)論 3 3

友情鏈接更多精彩內(nèi)容