基于TCP全双工协议,即可以从客户端向服务器端发送请求,也可以从服务器端主动向客户端发送消息。 HTTP协议只能从客户端向服务器发送请求,服务器端收到请求后,做出响应,发送给客户端
Websocket和HTTP都是基于TCP协议的,所以使用抓包工具可以抓到websocket的数据
HTTP协议簇:http、https协议。https=http+ssl数据加密传输
websocket:ws,wss协议。wss=ws+ssl数据加密传输
jmeter本身不支持websocket,需要安装插件
将「jmeter-plugins-manager-1.6.jar」放入「li b\ext」文件夹中,重启jmeter可以看到Jmeter Plugins Manager
Jmeter Plugins Manager
在「Abaliable Plugins」搜索「websocket」选择「Websocket Samplers by Peter Doornbosch」后点击「Apply Changes and Restart Jmeter」
安装
插件「取样器」,可以发现新增了一些Websocket的取样器
取样器
消息队列,是一种先进先出的典型数据结构,一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性的架构
MQ典型产品:「RabbitMQ」、「ActiveMQ」、「Kafka」、「RocketMQ」、「ZeroMQ」
「MQTT Protocol Support」
MQTT Protocol Support
安装插件后可以看到「取样器」中增加了如下内容
安装插件后
EMQ
工具-Websocket
消息
使用Jmeter发送
点击「Generate ID」创建一个随机ID
Push
可以从「订阅」中看到创建的ID
订阅
从「主题」中可以看到,主题已经被推送过来了
主题