首页 > 技术文章 > jmeter如何访问redis服务缓存

zhangfeivip 2018-08-09 17:27 原文

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数据集

 

增加图像用jmeter和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列表。

 

它看起来像这样:

 

增加图像jmeter redis数据集配置

 

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

 

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

 

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

 

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

 

增加图像如何使用带有jmeter的redis

 

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

 

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

 

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

 

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

 

增加图像我如何使用jis与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请求

 

增加图像jmeter和redis

 

填写所有要求的值:

  • 服务器名称或IP:blazedemo.com
  • 方法:发布
  • 路径:reserve.php
  • 参数:fromPort:$ {departure},toPost:$ {destination}

 

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

 

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

 

增加图像我如何配置redis进行负载测试

 

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

 

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

 

增加图像使用jmeter进行开源redis负载测试

 

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

 

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

 

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

 

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

 

增加图像jmeter和redis负载测试

 

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

 

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

推荐阅读