Nodejs接口压测工具

  1. 安装autocannon包
pnpm install -G autocannon

  1. 压测

    启动项目
    使用autocannon命令工具进行压测

autocannon -c 210 -d 10 https://xxx.xxx.com/api/xxx/xxxx

-c 是链接数量 -d持续压测时间 后面跟的是接口地址(如果测试需要参数,提前在接口写好默认参数)

-c/--connections NUM 并发连接的数量,默认10
-p/--pipelining NUM 每个连接的流水线请求请求数。默认1
-d/--duration SEC 执行的时间,单位秒
-m/--method METHOD 请求类型 默认GET
-b/--body BODY 请求报文体

压测完成会有两个表: 一个表表示请求延迟,另一个表表示请求量。

┌─────────┬───────┬───────┬───────┬───────┬──────────┬──────────┬────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼───────┼───────┼───────┼───────┼──────────┼──────────┼────────┤
│ Latency │ 13 ms │ 18 ms │ 30 ms │ 37 ms │ 19.36 ms │ 14.78 ms │ 742 ms │
└─────────┴───────┴───────┴───────┴───────┴──────────┴──────────┴────────┘
延迟表列出了2.5% 的请求时间,快速离群值; 50% ,中位数; 97.5% ,慢速离群值; 99% ,最慢的离群值。在这里,更低意味着更快。

┌───────────┬────────┬────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ Req/Sec │ 7659 │ 7659 │ 10975 │ 11775 │ 10600.6 │ 1222.16 │ 7656 │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ Bytes/Sec │ 743 kB │ 743 kB │ 1.06 MB │ 1.14 MB │ 1.03 MB │ 119 kB │ 743 kB │
└───────────┴────────┴────────┴─────────┴─────────┴─────────┴─────────┴────────┘

请求卷表列出了发送的请求量和下载的字节量。这些值每秒采样一次。更高的值意味着处理更多的请求。

Req/Bytes counts sampled once per second.

0 2xx responses, 106006 non 2xx responses
106k requests in 10.09s, 10.3 MB read

posted @ 2022-06-01 14:23  王猪猴  阅读(690)  评论(0编辑  收藏  举报