JMeter的Redis数据集 - 简介
Redis(REmote DIctionary Server)是一个开源的内存数据结构存储,用作数据库,缓存和消息代理。
作为内存数据库,它将所有数据保存在RAM中。Redis在读取/写入数据时实现高性能,
并且在您需要确保在所有测试服务器上使用唯一数据时也很有用。
本博文将介绍如何使用Apache JMeter™ Redis数据集插件在连接到Redis数据库时加载测试。
我们将解释如何安装Redis数据集JMeter插件,如何安装Redis数据库并填充它,以及如何在从数据库中获取值时加载测试网站。
让我们开始吧。
安装Redis数据集JMeter插件
1.从JMeter插件管理器安装Redis数据集插件:
- 下载Plugins Manager JAR文件
- 将文件复制到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数据集的本教程。如果您有任何问题,意见或希望与本教程分享您的经验,可以通过下面的表单发送给我们。