You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么clinic.js配合Autocannon压测返回0个2xx响应、36164个非2xx响应

问题原因排查方向

  • 缺失接口请求路径
    你当前的autocannon命令仅指定了localhost:$PORT,未填写实际接口路径(如/api/your-endpoint),相当于直接请求服务根路径。Postman测试时你大概率填写了正确的接口路径,两者请求目标不一致自然返回错误。

  • 请求头格式错误
    autocannon的请求头参数格式不符合要求,你当前写的-H "Authorization":"Bearer xxx"会导致头解析失败,正确写法应该是把整个头字段放在一对引号内,冒号后加空格:-H "Authorization: Bearer xxx"。头解析错误会导致服务端校验不通过,返回4xx状态码。

  • 缺失Content-Type请求头
    你使用POST方式提交JSON格式的请求体,但未指定Content-Type: application/json头,服务端无法正确识别请求体格式,会直接返回400错误。Postman提交JSON请求时会自动携带该头,你没有手动配置也能正常请求。

  • 请求体文件读取失败
    命令中-i my-data.json默认读取命令执行目录下的该文件,若文件不存在、路径错误或者JSON格式非法,autocannon会发送异常请求体,导致服务端校验失败。

  • 协议/端口不匹配
    日志显示压测地址为http://localhost:443,443是HTTPS默认端口,如果你的服务开启了HTTPS,用HTTP协议请求会直接握手失败;另外要确认你的Node.js服务是否正确读取了clinic传递的$PORT环境变量监听端口,若代码写死了监听端口,会导致压测的端口和实际服务端口不一致。

快速验证方法

你可以先单独运行autocannon命令测试,替换实际端口、补充路径和正确参数,加上打印响应的参数即可直接看到错误类型:

autocannon http://localhost:你的服务端口/你的接口路径 --connections 5 -m "POST" -i ./my-data.json -H "Authorization: Bearer xxx" -H "Content-Type: application/json" -d 1 --printResponseBody

内容的提问来源于stack exchange,提问作者linker85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:36:03