首页 > 数据库 >【性能测试】【redis】jmeter实现对redis查询写入压测

【性能测试】【redis】jmeter实现对redis查询写入压测

时间:2024-02-22 09:46:26浏览次数:30  
标签:压测 redis 数据库 Redis jedis jmeter 数据

一、jmeter安装Redis Data Set插件

首先,我们下载jmeter-plugins-manager-1.6.jar文件,放到jmeter的lib的ext文件夹中,然后重启jmeter。

然后,在‘选项’菜单下,点击‘plugin manager’,打开插件管理弹窗,选择‘Available Plugins’,在搜索框中,输入 redis

然后,选中‘Redis Data Set’,点击‘Apply Changes and Restart JMeter’

带自动下载后重启jmeter。

然后,在jmeter的线程组上右键,添加 > 配置元件 > jp@gc - Redis Data Set

 此时,已经可以通过jmeter配置连接redis数据库了。如果你已经有了redis数据库,那你就直接可以在当前的界面中进行相关的配置,如果你还没有redis数据库,就需要安装redis数据库。

注意:jmeter自动安装插件不成功的话,可以手动下载插件放在jmeter指定目录下即可
https://jmeter-plugins.org/?search=jpgc-redis

二、安装redis数据库

安装redis数据库的方法很多,那使用docker方式的安装,可能是最简单的,下面我就用docker的方式来安装redis数据库。

docker run -d --name my-redis -p 6379:6379 redis 

好了,现在有了redis数据库,该往数据库里面插入一些数据了。

# 进入容器 
docker exec -it jmeter-redis /bin/sh
# 命令模式,连接
redis redis-cli

# 插入列表数据
lpush course jmeter,loadruner
lpush course wrk,ab
lpush course locust,ngrinder

 现在,redis数据库库中,已经有了一个列表course,我们可以在jmeter中,获取它的数据

三、jmeter压测redis

jmeter使用redis数据

在RedisDataSet中配置相关信息

  • Data Configuration
    • Redis key:Redis中的key,Redis数据库中列表(有序数据)或集(无序数据)的名称
    • Variable Names:由数据集导出到测试元素的变量的名称(设置取出来的value存放在哪个变量中)
    • Delimiter:存储在Redis列表或集合中的行中使用的分隔符(取出的value有多个值时,变量名之间的分隔符)
    • Date Sources Type:数据源类型,有List、Set两种选择
    • Recycle data on Flase: 数据是否重复使用
  • Connection Configuration
    • Redis server host:Redis服务器IP地址
    • Redis server port:Redis服务端口
    • Timeout for connect in ms: 连接超时时间,默认2000 ms
    • Password for connection:连接Redis的密码
    • Database:数据库名称,连接Redis的第几个数据库,默认为0
  • Redis Pool Configuration

接下来我们添加调试取样器,在名称中引用redis变量名称。然后,线程组循环次数设置多次

 运行

 我们看到,获得了redis的数据。

jmeter向redis中写数据

上面呢,我们已经有讲到了,怎么来获取redis数据库里面的数据?那接下来呢,我们给大家讲一下如何向redis数据库里面写入数据。

首先,我们下载jedis的jar包, 把下载的包,放入jmeter的lib文件夹下,重启jmeter

然后,在jmeter中,新增一个线程组,添加‘jsr223 sampler’

import redis.clients.jedis.Jedis;

Jedis jedis = new Jedis("81.69.228.171", 6679);
jedis.set("foo","bar");
String value = jedis.get("foo");

 运行脚本

 从redis数据库中确认,数据已经入库

 

 

  




标签:压测,redis,数据库,Redis,jedis,jmeter,数据
From: https://www.cnblogs.com/xfbk/p/18024864

相关文章

  • 【性能测试】Redis监控利器---Redis State
    一、本地运行监控神器(以Windows为例)1、安装Jruby,官网地址:http://jruby.org/2、官网下载最新的RedisStatejar包,官网下载地址:https://github.com/junegunn/redis-stat/releases3、启动RedisState进行监控(1)启动命令redis-stat[HOST[:PORT][/PASS]...][INTERVAL[COUN......
  • kettle从入门到精通 第四十五课 ETL之 kettle redis
    1、kettle9.3/9.4spoon客户端中默认是没有redis步骤的,首先想到在kettle的插件市场进行下载redis步骤。 2、可能因为网络原因,直接下载失败了。索性放弃redis原有插件步骤,改为自己通过java代码进行实现,(有java基础的可以通过java代码步骤结合自定义jar包实现一切功能)。 3、将j......
  • Redis实现分布式锁
    方案1:spring-integration-redis组件使用spring-integration-redis组件privatestaticvoidtryLock(){LettuceConnectionFactoryconnectionFactory=createConnectionFactory();RedisLockRegistrylockRegistry=newRedisLockRegistry(connectionFactory,"te......
  • redis
    安装环境与工具yum-yinstallwgetvimtclgccmake下载rediswget wgethttps://download.redis.io/releases/redis-7.0.12.tar.gz 上传 redis-7.0.12.tar.gz 到三台服务器 /data/redis-7.0.12.tar.gz 118.89.112.205 主服务器124.220.13.28  从服务器 ......
  • redis自学(2)IntSet
    IntSetIntSet是redis中set集合的一种实现方式,基于整数数组来实现,并且具备长度可变、有序等特征。  可能会有疑惑,int8_t的数组contents只有1个字节,怎么可能存的下数组,其实这里的contents存储的只是指向真正数组的指针。IntSet的取值范围大小,实际上是由encoding属性决定的......
  • redis
    RedisRedis是基于OpenSourceBSD协议,使用C语言编写的一种Key-Value(键值对)内存数据库 安装 工具 启动服务端redis-server/root/myredisconf/redis.conf-使用指定配置文件启动启动客户端连接redis-cli-aroot-p6379用密码和端口登录授权10大数据类型......
  • Redis
    RedisRedis是基于OpenSourceBSD协议,使用C语言编写的一种Key-Value(键值对)内存数据库安装工具启动服务端redis-server/root/myredisconf/redis.conf-使用指定配置文件启动启动客户端连接redis-cli-aroot-p6379用密码和端口登录授权10大数据类型......
  • redis
    RedisRedis是基于OpenSourceBSD协议,使用C语言编写的一种Key-Value(键值对)内存数据库安装工具启动服务端redis-server/root/myredisconf/redis.conf-使用指定配置文件启动启动客户端连接redis-cli-aroot-p6379用密码和端口登录授权10大数据类型1.String......
  • 05 内存快照:宕机,Redis如何快速恢复?
    内存快照:指内存中的数据在某一个时刻的状态以文件的形式写到磁盘上,类似于照片。快照文件就称为RDB文件,其中,RDB就是RedisDataBase的缩写。两个关键问题:对哪些数据做快照?关系到快照的执行效率问题;做快照时,数据还能被增删改吗?关系到Redis是否被阻塞,能否同时正常处理请求......
  • 04 AOF日志:宕机,Redis如何避免数据丢失
    Redis的持久化主要有两大机制,即AOF(AppendOnlyFile)日志和RDB快照。Redis用于避免数据丢失的AOF方法数据库的写前日志(WriteAheadLog,WAL),在实际写数据前,先把修改的数据记到日志文件中,以便故障时进行恢复。AOF日志正好相反,是写后日志,Redis是先执行命令,把数据写入内......