使用jmeter连接mongo的方式,写groovy脚本
- 先将mongo-java-driver放到jmeter的lib目录下
链接:https://pan.baidu.com/s/1OVQhOsj8wfDI0sRY65lAhw
提取码:0rpo - 自定义变量
mongoHost 192.168.10.55
mongoPort 50000
collectionName app_log(表名)
userName readwrite
password readwrite
databaseName AppService(库名)
-
新增JSR223取样器,确认脚本语言为groovy
image.png
image.png - 连接数据库的脚本如下
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 {
MongoClient mongoClient = MongoClients.create("mongodb://${userName}:${password}@${mongoHost}:${mongoPort}/?authSource=admin");
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 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().first();
String resultStr = result.get("_id").toString();
String resultJson = result.toJson();
return resultStr;
}
catch (Exception e) {
SampleResult.setSuccessful(false);
SampleResult.setResponseCode("500");
SampleResult.setResponseMessage("Exception: " + e);
}
-
执行请求,查询结果正确
image.png
使用jmeter连接redis的方式,写beanshell脚本
- 先将commons-lang和jedis,放到jmeter的lib目录下
链接:https://pan.baidu.com/s/1K_gSdsj5u_YiPKWtNO9kfQ
提取码:k1sq
链接:https://pan.baidu.com/s/1Pw-oMDT8PkkPeD1_hj_f2A
提取码:bi8p - 先定义用户变量
redis-host 192.168.10.99
redis-password xxxx
redis-key CK:UA:11(缓存的key)
redis-port 6666
-
同样创建JSR223取样器,确认脚本语言为java(beanshell)
image.png
4.查询脚本如下:
import redis.clients.jedis.Jedis;
import org.apache.commons.lang3.StringUtils;
String host = "${redis-host}";
int port = ${redis-port};
String password = "${redis-password}";
int index = 0;
String key = "${redis-key}";
Jedis jedis = new Jedis(host, port);
if(StringUtils.isNotBlank(password)){
jedis.auth(password);
}
jedis.select(index);
String type = jedis.type(key);
String redisGetResult = jedis.get(key);
log.info(type);
return redisGetResult;
5.执行请求,查询结果正确
image.png