使用jmeter测试websocket
准备
jmeter
-
websocket取样器插件JMeter-WebSocketSampler
可以在jmeter插件中心搜索WebSocket Sampler
创建websocket取样器
路径:线程组-->取样器-->WebSocketSampler
取样器参数详解
-
web server
Server Name or IP: 需要连接的websocket服务器名称或Ip地址
Port Number: websocket侦听的端口号
-
timeout: 以毫秒为单位
connection:连接超时时间
response:响应超时时间
-
websocket request
implementation:实现方式,只能选择RFC6455(v13)版本,这是websocket协议标准的最新版本
protocol:要使用的websocket协议,ws表示一般websocket连接;wss表示websocket安全连接
content encoding:设置消息文本编码,一般有UTF-8
connection id:
path:websocket请求路径
ignore SSL certificate errors:是否忽略SSL认证报错,只有协议选择wss才会生效。这里与https协议类似
-
streaming connection:表示连接是否保留。如果选中,则会保存长连接;否则会在第一次响应后立即关闭连接
通过实践发现(观察‘查看结果树--取样器结果’中的执行流程execution flow):
当勾选了streaming connection,不仅会在请求结束后保留连接,而且当已存在可用连接时,会直接复用已有连接;
当没有勾选streaming connection,每次请求都会新建连接,在请求结束后,会立即关闭连接,而且即使存在可用的连接,也会新建连接
同请求一起发送参数:按照表单的形式,填写要发送的参数
request data:要发送的请求数据
-
websocket response
response pattern:响应结果样本,响应结果中包含的字段
message backlog:打印最近多少条响应
close connection pattern:关闭连接结果样本,当匹配到设置的字段后,会自动关闭websocket连接
proxy server:代理服务器,通过代理服务器像被测websocket服务发起压测请求