Autocannon 是用于 HTTP 性能测试的 Node.js 工具,它可以模拟多个并发请求并测量延迟、吞吐量和错误率等指标。以下是 Autocannon 的基本使用方法和常用选项:
安装 Autocannon:
npm install -g autocannon
基本使用方法:
autocannon [url]
这里的 [url]
指代待测试的目标 URL,例如:
autocannon https://www.example.com/
上述命令将发送默认设置下的 100 个并发请求数量,每秒 2 个请求,持续 10 秒,并输出测试结果。
常用选项:
-c, --connections
: 并发连接数,默认值为 100。-a, --amount
: 总请求数量,默认值为 0(表示持续运行)。-t, --timeout
: 单个请求最长超时时间,单位为秒,默认值为 10。-d, --duration
: 测试时长,单位为秒,默认值为 10。-p, --pipelining
: 管道请求数量,默认值为 1。-A, --accept-encoding
: 请求头的 accept-encoding 字段,用于启用 http 压缩,例如-A gzip
.-H, --header
: 自定义请求头,例如-H 'Authorization: Bearer xxxx'
.-b, --body
: POST/PUT/PATCH 请求的内容,可以是 JSON 文件、URL 编码的字符串或二进制文件路径。-m, --method
: 请求方法,默认值为 GET。
除此之外,Autocannon 还支持导出报告、使用脚本生成测试场景、通过 WebSocket 进行性能测试等高级功能,在实际使用中需要根据具体需求进行设置和调整。你可以参考 Autocannon 的官方文档来了解更多细节和使用方法。
如果以上方案不能执行autocannon命令,也可尝试使用一下方法;
克隆代码至本地git clone https://kgithub.com/mcollina/autocannon.git
执行node server.js & 启动服务,监听3000端口,使用curl 127.0.0.1:3000,显示hello word则显示正常;
执行node autocannon.js -c 1000 -d 10 -p 5 http://127.0.0.1:3000 进行测试
测试结果如下
图一:
图二: