问题
最近想测试一下websocket推送的性能。需要一个工具发起多个websocket连接。
注意:这里介绍的这个工具,我还没有搞明白怎么打印出服务器端推送过来的消息。
这里假设已经安装好了nodejs环境。
artillery
安装
npm install -g artillery
准备配置文件
websocket-test.yaml
config:
target: "wss://xxxx.com/wsapi"
phases:
- duration: 300
arrivalRate: 10
scenarios:
- engine: "ws"
flow:
- think: 600 # do nothing for 10m and disconnect
这里就是持续5分钟,每秒发起10个连接,websocket连接成功后,等待10分钟。
运行测试
artillery run ./websocket-test.yaml
测试结果
这里可以看出产生了接近3千个websocket连接。