Artillery:给服务端做压测的老牌工具

文章目录

  • Artillery:给服务端做压测的老牌工具
    • [1、 这工具是干嘛的](#1、 这工具是干嘛的)
    • [2、 为什么不用 JMeter](#2、 为什么不用 JMeter)
    • [3、 怎么用](#3、 怎么用)
    • [4、 适合谁用](#4、 适合谁用)
    • [5、 协议和限制](#5、 协议和限制)
    • [6、 写在最后](#6、 写在最后)

Artillery:给服务端做压测的老牌工具

Artillery 在 GitHub 上已经累计 9,018 个 Star。

这是一个跑了好多年的负载测试工具,定位很清晰,给 API 和 Web 应用做规模化的压力测试。云原生架构、Playwright 真浏览器压测、二十多种监控和 CI/CD 集成,开箱即用。

1、 这工具是干嘛的

干一件事:模拟大量并发用户往你的服务发请求,看它在压力下能不能扛住。

可以测的东西挺多。HTTP、WebSocket、Socket.io、gRPC、Kinesis 都支持,基本上后端常用协议都覆盖到了。除了简单打单接口,还能模拟真实用户的复杂行为,比如多步骤请求链、事务、登录后操作一整套流程,把线下用户走业务的真实路径复刻到压测脚本里。

2、 为什么不用 JMeter

老牌压测工具一堆,JMeter、Locust、k6、wrk 各有各的拥护者。Artillery 在几个点上做得比较实在。

第一是脚本化。用 YAML 或者 JavaScript 描述场景,比 JMeter 的 GUI 录制方式更适合进 Git 版本管理,也更适合 CI 流水线。

第二是云原生扩展。压测量级上去之后单机就吃不消了,Artillery 直接在 AWS Lambda 或 Fargate 上跑分布式 worker,不用自己搭机器群,不用维护基础设施。

第三是真浏览器压测。基于 Playwright 跑 headless 浏览器发压,能测出真实前端渲染、JS 执行下的体验,不只是发个 HTTP 请求就完事。这对前端比较重的 SPA 应用很关键。

3、 怎么用

安装一行命令:

bash 复制代码
npm install -g artillery

写个最简单的压测脚本,往指定接口发请求:

yaml 复制代码
config:
  target: "https://example.com"
  phases:
    - duration: 60
      arrivalRate: 20
scenarios:
  - flow:
      - get:
          url: "/"

跑起来:

bash 复制代码
artillery run test.yml

输出会有 RPS、延迟分布、错误率、P95 P99 这些指标。要看更细的数据,可以接 Prometheus、Datadog、New Relic 这些监控系统,Artillery 官方给了二十多个集成包。

4、 适合谁用

  • 后端工程师,上线前需要验证服务能扛多少 QPS
  • SRE 和运维团队,做容量规划、找性能拐点
  • 做微服务的人在压测单个服务的限流和熔断策略
  • 需要在 CI 流水线里加性能门禁的团队

5、 协议和限制

仓库里大部分代码是 MPL 2.0 协议,可以商用。少数 Azure 相关的模块走 BSL 协议,在 Azure 上做商用或者生产环境部署需要单独买商业授权,自己其他云上跑不受这个限制。

6、 写在最后

Artillery 不是新东西,但持续在迭代。社区版免费够用,分布式压测上 AWS Lambda 这条路子比较省心,不用自己搭机群。如果你正要给服务做一次正经的压测,或者想把性能测试塞进 CI,可以拿它试一把。

测上 AWS Lambda 这条路子比较省心,不用自己搭机群。如果你正要给服务做一次正经的压测,或者想把性能测试塞进 CI,可以拿它试一把。

相关推荐
syntaxsage2 小时前
searx:隐私优先的元搜索引擎,宣布停止维护
其他·搜索引擎
小王R语言学习2 小时前
PaddleNLP:基于飞桨的大模型开发套件
人工智能·其他·paddlepaddle
kk_net88992 小时前
FSNotes:macOS 和 iOS 上的开源笔记管理器
笔记·其他·macos·ios
syntaxsage3 小时前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
VJs202620 小时前
政务宣传片用的山川河湖生态空镜素材哪个网站下载?
其他
VJs20262 天前
做游戏短视频缺打击感音效,打击感音效哪个网站下载?
其他
览讯冷却3 天前
冷却塔噪声的健康危害与法规要求的技术梳理
经验分享·笔记·科技·其他·百度·制造·业界资讯
橙子家4 天前
幻觉(Hallucination)、护栏(Guardrails)-AI 相关概念之(应用与交互概念)
其他
橙子家5 天前
RAG(检索增强生成)、推理(Inference)、嵌入(Embedding)-AI 相关概念之(应用与交互概念)
其他