npm 包 autocannon 使用教程

阅读时长 4 分钟读完

简介

autocannon 是一个基于 Node.js 开发的命令行工具,用于压力测试 HTTP 和 WebSocket 协议的服务器,可用于评估网站、Web 应用程序和 API 的性能。

本文将详细介绍 autocannon 的使用方法,包括安装、配置、使用、输出结果以及解读结果等方面。

安装

使用 npm 命令进行全局安装:

配置

autocannon 支持多种配置参数,以下是一些常用的配置参数:

  • -c, --connections:并发连接数,默认为 10。
  • -a, --amount:总请求次数,默认为 0(表示无限制)。
  • -p, --pipelining:每个连接的 HTTP/1.1 管道线请求数量,默认为 1。
  • -m, --maxConnectionRequests:每个连接的最大请求数量,默认为 0(表示无限制)。
  • -d, --duration:测试运行的持续时间,单位为秒,默认为 10。
  • -t, --timeout:每个请求的超时时间,单位为毫秒,默认为 5000。
  • -i, --input:用于 POST 请求的输入文件路径。
  • -H, --header:HTTP 头部信息,格式为 key:value。
  • -b, --body: 请求体,用于 POST 请求的数据。

完整的配置列表可以通过 autocannon --help 命令获取。

使用

使用 autocannon 进行压力测试非常简单,以下是一些常用的命令示例:

  • 发送 GET 请求,并建立 100 个并发连接,持续时间为 10 秒:
  • 发送 POST 请求,并指定请求体,建立 10 个并发连接,共发起 100 次请求:
  • 发送 WebSocket 请求,创建 1 个连接,发送 5 个消息,持续时间为 5 秒:

输出结果

autocannon 在测试结束后会输出测试结果,包括以下数据:

  • 请求总数、成功数、失败数和错误数。
  • 平均每秒处理请求数、每秒字节数以及延迟时间。
  • 最大、最小和平均响应时间、吞吐量以及 HTTP 状态码分布。

以下是一个输出结果示例:

-- -------------------- ---- -------
------- --- ---- - ---------------------
-- ----------- ---- ------- ---------- ------

---------------------------------------------------------------------------
- ----    - ---- - ---  - ----- - ---   - -----     - ---     - ---       -
---------------------------------------------------------------------------
- ------- - - -- - - -- - -- -- - --- -- - ---- --   - - --    - -- --     -
---------------------------------------------------------------------------
- ------- - -    - ---  - ---   - ---   - -----     - ---     - ---       -
--------------------------------------------------------------------------

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
纠错
反馈