Node编写,很简单的工具。
github地址:https://github.com/aa24615/websocket-pressure-test
# 安装npm
wget https://npm.taobao.org/mirrors/node/latest-v14.x/node-v14.18.2-linux-x64.tar.gz
tar -zxvf node-v14.18.2-linux-x64.tar.gz -C /opt
mv node-v14.18.2-linux-x64 /opt/node-v14.18.2
# 配置npm
export NODE_HOME=/opt/node-v14.18.2
export PATH=$PATH:$NODE_HOME/bin
# 设置npm的仓库
npm config set registry "https://registry.npm.taobao.org"
npm config get registry
# 并发测试 其中10000为并发数 content.json为发送的内容
./node_modules/.bin/websocket-pressure-test wss://xxx 10000 /content.json
Go编写,个人感觉压力上不去,可能是没有熟读文档,使用不当。地址:https://github.com/link1st/go-stress-testing
./go-stress-testing-mac -c 10000 -n 1 -u wss://xxx
./go-stress-testing-linux -c 10000 -n 1 -u wss://xxx
Java编写的性能测试工具,老牌的JMeter
,原生不支持,需要通过plugin
进行扩展进行支持。
Jmeter下载后,在主界面的最右边选择插件Plugins Manager
然后搜索websocket
,下载WebSocket Samplers by Peter Doornbosch
然后可以进行后续测试。
压测时候,最好不要在你的开发环境压,因为开发环境的交换机、路由器这些网路设备很容易形成桎梏。推荐租几台临时的服务器进行压测。