Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸

转载请注明出处,感谢您的支持。
文章来源:【chenyk的】https://www.jianshu.com/p/3a96afdbd7af

同一文集

  • Jmeter压力测试系列(一) - 初识Jmeter和线程组操作详解
  • Jmeter压力测试系列(二) - Http请求模拟和响应参数获取
  • Jmeter压力测试系列(三) - 参数化请求

XMPP插件下载安装


官网下载的zip包中,是不包含xmpp插件的。如果要实用xmpp的功能,需要用户自行配置,配置安装步骤见下文。

1、下载插件管理器

  • 官网下载插件管理器plugins-manager.jar
  • 将下载的jar包剪切粘贴到Jmeter安装位置的lib/ext的目录下,完成后重启Jmeter工具
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第1张图片
下载插件管理器

2、下载XMPP插件

  • 菜单栏上选择 选项 - > Plugins Manager 进入插件管理界面
  • 单击Available Plugins -> 搜索框输入xmpp -> 勾选xmpp插件 -> 点击Apple Changes and Restart Jmeter
  • 再次重启Jmeter工具
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第2张图片
插件管理器入口
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第3张图片
下载XMPP插件

开始使用XMPP插件


1、 添加配置元件bzm - Xmpp Connection,配置openfire服务器信息

操作:线程组右键添加 -> 配置元件 -> bzm - Xmpp Connection -> 输入服务器ip地址和端口等信息

添加XMPP Connection
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第4张图片
配置服务器信息

2、添加XMPP采样器,只勾选Connect to Server

操作:线程组右键添加 -> Sampler -> bzm - Xmpp Sampler

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第5张图片
添加XMPP采样器
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第6张图片
Connect to Server

3、添加XMPP采样器,设置登录openfire的账号密码信息

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第7张图片
用户登录

4、添加XMPP采样器,添加消息发送配置,如接收方账号和消息内容等

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第8张图片
消息发送设置

5、添加仅一次控制器

需要注意一下,Openfire服务器的连接和账号的登录操作只需要执行一次,所以还需要添加一个仅一次控制器将这两个操作给包裹起来

操作:线程组右键添加 -> 逻辑控制器-> 仅一次控制器 -> 将上面的两个操作移至控制器中

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第9张图片
添加仅一次控制器
仅一次控制器包裹

到这里,通过Jmeter工具对Openfire服务器进行消息轰炸的配置大致就是这样。好了,下面将开始进行验证!!!

开始消息轰炸


消息轰炸之前,为了方便等下查看效果,需要以下操作:

  • 添加监听器察看结果树
  • 添加监听器聚合报告,查看发送结构统计(总条数,错误数等)
  • 启动Spark软件并登录接收方账号,等待消息接收

其最终的测试计划结构如下图所示:

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第10张图片
测试计划结构
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第11张图片
Spark登录目标账号

1、启动测试计划

操作:点击工具栏上单击启动按钮(绿色箭头)

2、察看结果

操作:点击察看结果树

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第12张图片
察看结果
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第13张图片
消息接收 - 单次

PS:可以看到服务器连接成功,账号登录成功,并且消息已经发送出去,同时在Spark客户端上成功的接收消息

3、消息轰炸

用户可通过增大线程组的循环次数或者修改线程组数量,以此来模拟单个用户单个用户短时间的高并发消息发送操作,以此达到对服务器进行轰炸效果。

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第14张图片
线程组设置
聚合报告
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第15张图片
消息接收

多用户消息轰炸


通过上面的介绍,我们知道如何模拟单用户之间发送消息。那如果想模拟多用户之间发送消息呢,这得如何实现???

其实很简单,上一篇博客中介绍过CSV Data Set Config这个配置元件,大家也应该有了解到。通过加载CVS文件数据,逐行获取数据,以此来模拟多用户操作。具体操作如下:

1、准备账号数据源

将账号密码放至CSV文件中,可从excel表另存为CSV文件或者直接在txt文本中输入账号密码。格式如下图所示:

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第16张图片
账号数据源

2、配置CSV数据

线程组右键添加配置元件CSV Data Set Config,并填入以下信息

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第17张图片
配置CSV数据

3、参数引用 ---- 发送方账号和接收方账号

引用上一步骤定义的变量,修改发送方账号密码及接收方账号

Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第18张图片
UserLogin修改
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第19张图片
SendMsg修改

4、启动测试计划

启动测试计划后,打开查看结果树,随便点一条发送消息请求,可以看到发送方和接收方的账号发生了变化,数据源的账号密码在这里生效。


Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸_第20张图片
消息发送请求参数

写在最后,希望以上内容能帮到您,不定时总结和记录个人的经验。您的支持是我前进的动力,经验分享是美德

你可能感兴趣的:(Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸)