Redis(REmote DIctionary Server)是一个开源的内存数据结构存储,用作数据库,缓存和消息代理。

作为内存数据库,它将所有数据保存在RAM中。Redis在读取/写入数据时实现高性能,

并且在您需要确保在所有测试服务器上使用唯一数据时也很有用。

本博文将介绍如何使用Apache JMeter™Redis数据集插件在连接到Redis数据库时加载测试。

我们将解释如何安装Redis数据集JMeter插件,如何安装Redis数据库并填充它,以及如何在从数据库中获取值时加载测试网站。

让我们开始吧。

安装Redis数据集JMeter插件

1.从JMeter插件管理器安装Redis数据集插件:

将文件复制到Jmeter的lib / ext目录

重启JMeter

单击“选项”,然后单击“插件管理器”

点击“可用插件”

选择“Redis数据集”,然后单击“应用更改并重新启动JMeter”

重新启动JMeter后,您应该能够在菜单中看到Redis Data Set配置元素。

右键单击测试计划 - >添加 - >配置元素 - > jp @ gc - Redis数据集

恭喜!该插件已成功安装。

Mac用户:如果您的计算机上没有JMeter,并且想要安装带有插件的JMeter(其中一个是Redis数据集插件),您可以在终端中轻松运行此命令:

brew install jmeter --with-plugins

在本地安装和启动Redis

2.要在Mac上安装Redis,请在终端中键入以下命令:

brew安装redis

要了解如何安装Redis for Linux,请单击此处。对于Windows,请单击此处。

3.完成安装后,使用以下命令启动它:

Redis的服务器

4. Redis服务器应该在几秒钟内启动。通过执行以下命令在另一个终端选项卡中测试Redis服务器:

redis-cli ping

如果Redis服务器设置正确,您将看到响应:“PONG”

将数据填充到Redis数据库

5. Redis服务器已启动并正在运行。现在是时候用一些测试数据填充它了。

在终端中输入以下命令,打开Redis命令行界面:

Redis的-CLI

6. Redis命令行界面应该打开。现在让我们将数据添加到Redis数据库:

LPUSH blazedemo波士顿,罗马

LPUSH blazedemo波特兰,柏林

LPUSH blazedemo巴黎,开罗

LPUSH命令使用键“blazedemo”将值添加到Redis列表。

它看起来像这样:

做得好!您的测试数据现在填充到Redis。

使用Redis数据集配置元素创建JMeter脚本

现在我们准备创建一个测试JMeter脚本来展示如何使用Redis数据集配置元素。让我们在BlazeDemo网站(http://blazedemo.com/)上运行负载测试,该网站可供公众用于尝试性能脚本。

该网站的目标网页上有一个搜索航班的表格。让我们在脚本中对出发地和目的地城市进行参数化,并从Redis数据库中获取这些值。

7.将一个线程组添加到测试计划

右键单击测试计划 - >添加 - >线程(用户) - >线程组

8.将Redis数据集添加到线程组

线程组 - >添加 - >配置元素 - > jp @ gc - Redis数据集

'jp @ gc - Redis数据集'有许多参数,我们来看看其中的一些参数:

名称:此名称将显示在左侧面板上。我们可以选择任何名字。我们把它作为现在的默认值。

Redis键:这是Redis数据库中列表(有序数据)或集(无序数据)的名称。在填充数据库时,我们在步骤6中选择了“blazedemo”。

变量名称:这些是由数据集导出到测试元素的变量的名称。在我们的例子中,他们是'出发地,目的地'

分隔符:这是存储在Redis列表或集合中的行中使用的分隔符。我们使用了逗号(','),所以我们将其保留为默认值。

获取模式:有两种选择:

RANDOM_REMOVE使用Redis列表。检索到一个值后,它将从列表中删除。

RANDOM_KEEP使用Redis集。检索到的值保留在Set中。

重要!我们应该保留RANDOM_REMOVE选项,因为我们在6中创建了Redis列表。

Redis服务器主机:Redis服务器的IP或域。我们应该输入'localhost',因为我们在本地运行Redis服务器。

Redis服务器端口:您的Redis服务器端口。我们把它作为默认值。

密码:如果您拥有受密码保护的Redis服务器,则为密码。我们把它作为默认值。

数据库:数据库名称。我们把它作为默认值。

保留其他参数的默认值。

9.添加搜索航班的HTTP请求。

线程组 - >添加 - >采样器 - > HTTP请求

填写所有要求的值:

服务器名称或IP:blazedemo.com

方法:发布

路径:reserve.php

参数:fromPort:$ {departure},toPost:$ {destination}

$ {departure}和$ {destination}是将从Redis数据库中获取的变量。

此请求用于提交搜索表单以查找航班。服务器的响应将导航我们到下图所示的下一页:

10.添加断言以确认请求返回正确的页面。让我们在搜索结果页面上查看“从巴黎飞往布宜诺斯艾利斯的航班:”文字。

HTTP请求 - >添加 - >断言 - >响应断言

11.使用“从$ {出发}到$ {目的地}的航班”填写模式以测试该字段:

我们差不多完成了。添加一个监听器以查看您的测试结果:

线程组 - >添加 - >侦听器 - >查看结果树

13.运行脚本并在“查看结果树”侦听器中检查结果。

如果您看到与上面屏幕截图相同的测试结果,那么您将获得正确的页面,并且您的测试已通过!

这就是使用Redis数据集的本教程。如果您有任何问题,意见或希望与本教程分享您的经验,可以通过下面的表单发送给我们。

jmeter修改redis_jmeter如何访问redis服务缓存相关推荐

  1. 使用BeetleX访问redis服务

    BeetleX针对redis访问封了全async/await操作模式,通过它可以更高效地访问redis服务.BeetleX.Redis提供读写分离和多机故意写入处理,同时安全的TLS访问机制,在使用功 ...

  2. Unable to Connect: sPort: 0 C# ServiceStack.Redis 访问 redis

    需求:  对数据库中的不断抓取的文章进行缓存,因此需要定时访问数据,写入缓存中 在捕获到的异常日志发现错误:Unable to Connect: sPort: 0 使用的访问方式是线程池的方式:Poo ...

  3. Redis服务安全加固

    转载来源 : https://help.aliyun.com/knowledge_detail/37447.html?spm=a2c4g.11186623.4.4.674b4b12XmJSTD 一.背 ...

  4. 外部访问redis服务器

    默认情况下,除了redis服务器本身之外,其他机器不能访问redis服务.如果外部需要访问,需要修改下配置文件,将如下语句注释掉(注意还需要关闭防火墙),然后重启 1.关闭redis [root@ce ...

  5. Windows下安装Redis服务

    2019独角兽企业重金招聘Python工程师标准>>> Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这 ...

  6. CentOS 7安装Redis服务

    一.Redis下载 在centOS里通过wget下载redis wget http://download.redis.io/releases/redis-4.0.11.tar.gz  具体版本下载地址 ...

  7. 主机无法连接虚拟机中的redis服务

    解决:主机<本地>无法连接虚拟机中的redis服务 首先保证虚拟机网络已经和主机网络互通,即相互ping对方IP,能ping通但是仍然连不上redis服务,可能是以下问题. redis服务 ...

  8. 国产服务器(麒麟操作系统),springboot应用并发访问redis数据错乱解决方案

    问题描述: 国产服务器,麒麟操作系统进行部署springboot应用的时候,压测并发访问redis 服务出现数据错乱情况,比如Key A的数据给了KeyB,Key B的值给了KeyC等,导致系统不可用 ...

  9. windows安装redis服务

    说明:本文拷贝自https://jingyan.baidu.com/article/0f5fb099045b056d8334ea97.html Redis是有名的NoSql数据库,一般Linux都会默 ...

最新文章

  1. BufferedReader和PrintWriter读写中文的问题
  2. 别瞎操心了!机器人根本不会抢你的饭碗
  3. centos 6.4 /var/log/secure 不记录日志的問題
  4. Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
  5. UA MATH636 信息论5 信道编码定理的证明
  6. 我们又双叒搬家了!(附福利)
  7. stopped状态的进程 top 命令_30 个实例详解 TOP 命令!
  8. jzoj4817-square【区间RMQ,二分答案】
  9. 对应node版本_安装Node.js教程
  10. jsp空白页面传html代码,echarts在HTML里测试一般,在jsp页面不显示,而且还把整个页面变成空白...
  11. 九年级计算机上册教学总结,九年级信息技术教学工作总结
  12. kubernetes之CI/CD工具jenkins第二篇,helm的使用
  13. 简单梳理帆软报表即决策系统的登录步骤 一
  14. 【深度学习】图像匹配Siamese网络实验记录
  15. MacOSX 下.app支持同时运行多个实例
  16. python对接INVEST和ARCGIS
  17. 《数据结构复习》扩展线性链表的广义表
  18. 在Virtualbox虚拟机中安装MSDOS(简易教程)
  19. 序列化字段的跨表查,choice字段显示中文,
  20. 前端基础总结--CSS

热门文章

  1. java中的Attribute类_java培训技术ModelAttribute注解修饰POJO类型的入参
  2. go newscanner判断文件读取结束_Go单元测试-testing
  3. 不知道Mysql排序的特性,加班到12点,认了认了!
  4. Python:通过SNMP协议获取华为交换机的ARP地址表
  5. 精通ASP.NET MVC——控制器和动作
  6. iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
  7. linux共享内存示例,linux 进程间共享内存示例
  8. html5图片剪切板,JavaScript 网页端复制图片到剪切板
  9. 连接linux工具Mtr,Linux常用网络工具:路由扫描之mtr
  10. 浮点加法器计算机组成原理,计算机组成原理 第二章运算方法与运算器