高级性能测试系列《29.WebSocket request-response Sampler、MQ环境搭建》

2022-12-02 21:53:13 浏览数 (2)

目录

  • 一、写脚本
  • 二、websocket项目
  • 三、MQ
    • 1.MQ环境搭建
    • 2.MQTT
    • 3.jmeter下载mqtt的协议插件

一、写脚本

图1:发过去了之后,同时获取响应消息。

图1:运行结果中可以看出发过去的是601。

图1:运行结果:直播室创建成功。

图2:定义个变量,做变量引用。

http、websocket协议的数据报文,都可以通过抓包工具抓包,例如直接按f12。

监听:

图3:运行结果。

绿色,只是代表网络成功,response code并不一定等于200。它的响应码:1xx、2xx、3xx。

图4:运行结果。

图4:运行结果。

红色代表失败。我这个服务不能处理二进制的信息,就没有结果出来。

图片中的I/O是网络换入换出,Websocket I/O error是网络没有换出。

二、websocket项目

python是解释性语言,解释一行,执行一行。在服务器上部署的时候是使用源码部署的,可以看到python代码。

  • websocket项目:
    • python3编写的源码。
    • 服务:websocketd。

图5:打开py文件。

图5:查看文件里面的内容:209没有实现。

图5:查看文件里面的内容。

运行脚本前,需要先安装websocketd服务yum install websocketd.0.3.1.x86_64.rpm,已经安装了就不用再安装了。

图6:可以看到,已经安装了websocketd服务

linux系统默认安装的是python2.7,脚本使用的是python3的语法,所以需要安装python3,现在已经安装了python3。

三、MQ

MQ: 消息队列的总称。

消息队列的服务:kfakarabaitmqMQTT

例如:打电话查手机话费,客服说短信已经下发,此时没有收到短信。你打电话是一回事,他这边在给你发短信是另一回事,这是两件事在异步操作。这个时候选择使用mq。

队列:FIFO(fist in fist out)。顺序队列(例如食堂打饭),循环队列(例如贪吃蛇游戏)。

消息队列的特点:发布一个主题,然后订阅消费这个主题。消费后就能得到信息。

例如发短信,把短信发过去后会排一个队,如果当前业务繁忙,队列比较长,等待的时候会比较久一些。

启动mq服务./stmqttserver.sh

图7:MQ环境搭建已经搭建完毕,直接启动即可。

1.MQ环境搭建

centos系统:
代码语言:javascript复制
1、sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2、sudo yum-config-manager--add-repohttps://repos.emqx.io/emqx ce/redhat/centos/7/emqx-ce.repo

3、curl https://repos.emqx.io/install emqx.sh| bash

启动:sudo systemctl start emqx

验证:http://ip:18083    admin/public

2.MQTT

支持http协议、websocket协议、支持mq协议。

参考链接:http://testingpai.com/article/1595507301931

图8:来自网络

3.jmeter下载mqtt的协议插件

plugin-manager:MQTT Protocol Support。

图9:下载插件。

如果下载失败,左边有红色,再次点击apply changes and restat jmeter

看到jmeter的lib/ext文件夹下有这个jar包就可以了。

gitee脚本链接

https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced performance testing


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

0 人点赞