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

转载请注明出处,感谢您的支持。
文章来源:【chenyk的博客】http://blog.****.net/chenyk_kevin_1/article/details/79546194

XMPP插件下载安装


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

1、下载插件管理器

  • 官网下载插件管理器plugins-manager.jar
  • 将下载的jar包剪切粘贴到Jmeter安装位置的lib/ext的目录下,完成后重启Jmeter工具

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

2、下载XMPP插件

  • 菜单栏上选择 选项 - > Plugins Manager 进入插件管理界面
  • 单击Available Plugins -> 搜索框输入xmpp -> 勾选xmpp插件 -> 点击Apple Changes and Restart Jmeter
  • 再次重启Jmeter工具

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

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

开始使用XMPP插件


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

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

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

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

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

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

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

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

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

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

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

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

5、添加仅一次控制器

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

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

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

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

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

开始消息轰炸


消息轰炸之前,为了方便等下查看效果,需要以下操作:
* 添加监听器察看结果树
* 添加监听器聚合报告,查看发送结构统计(总条数,错误数等)
* 启动Spark软件并登录接收方账号,等待消息接收

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

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

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

1、启动测试计划

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

2、察看结果

操作:点击察看结果树

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

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

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

3、消息轰炸

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

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

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

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

多用户消息轰炸


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

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

1、准备账号数据源

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

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

2、配置CSV数据

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

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

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

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

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

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

4、启动测试计划

启动测试计划后,打开查看结果树,随便点一条发送消息请求,可以看到发送方和接收方的账号发生了变化,数据源的账号密码在这里生效。
Jmeter压力测试系列(四) - 模拟对Openfire服务器进行消息轰炸

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