性能测试之Artillery(示例及指标)

官方文档:https://www.artillery.io/docs/get-started/first-test
PS:文档挺详细,教程比较全

示例

config:
  http:
    extendedMetrics: true
  target: 'http://127.0.0.1:8005'
  phases:
    - duration: 10 # 持续时间
      arrivalRate: 10 # 每秒创建10个用户
      rampTo: 100 # 最多创建100个用户
      name: 预热阶段 # 阶段名
    - duration: 120
      arrivalRate: 100
      rampTo: 100
      name: 正式压测
    # - duration: 30
    #   arrivalRate: 10
    #   rampTo: 30
    #   name: Spike phase
#  plugins:
#    ensure: { }
#    apex: { }
#    metrics-by-endpoint: { }
#  apex:
#    threshold: 100

scenarios:
  - name: "分配玩家"
    weight: 7
    flow:
      - loop:
        - post:
            url: "/room/assignment-user-room"
            json:
              appId: 13
              roomType: 105
              seasonId: 1
              userItem:
                - userId: '1001'
                  roomLevel: 1
        count: 100

  - name: "查询房间所有玩家"
    weight: 7
    flow:
      - loop:
        - post:
            url: "/room/query-all-user"
            json:
              appId: 13
              roomType: 105
              seasonId: 1
              roomId: 100001
        count: 100

PS: 具体参数查看官方文档

2、启动

一、运行并生成JSON报告

  • 使用 -o 参数,先输出JSON:
artillery run artillery/artillery_room.yml -o report.json

二、JSON生成可视化HTML

  • 使用 -output 参数将JSON文件输出 html,进行可视化
artillery report --output report.html report.json

3、性能指标

  • 默认指标:
    在这里插入图片描述

  • http引擎指标:
    在这里插入图片描述

  • 扩展指标:
    需要先启用extendedMetrics ,通过设置来配置为跟踪其他性能config.http.extendedMetrics指标true:

config:
  http:
    extendedMetrics: true

在这里插入图片描述

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是常见的性能测试面试题目及答案,供参考: 1. 什么是性能测试?为什么要进行性能测试? 答:性能测试是一种测试类型,用于评估系统在特定条件下的响应时间、吞吐量、资源利用率和稳定性等方面的表现。进行性能测试可以发现系统中的瓶颈,优化系统,提高用户体验并确保系统在高负载条件下稳定运行。 2. 性能测试的阶段是什么?请简要介绍每个阶段的内容。 答:性能测试的阶段通常包括:需求分析、测试计划、测试设计、测试执行、测试分析和报告。其中,需求分析阶段是为了确定测试的目的、范围和目标用户;测试计划阶段是为了制定测试计划,包括测试策略、测试环境、测试工具和测试资源等;测试设计阶段是为了设计测试场景、测试数据和测试用例;测试执行阶段是为了执行测试并记录测试结果;测试分析阶段是为了分析测试结果并发现系统中的瓶颈;报告阶段是为了总结测试结果并提出优化建议。 3. 性能测试中的常见指标有哪些?请简要介绍每个指标的含义。 答:性能测试中的常见指标包括响应时间、吞吐量、并发用户数、资源利用率和稳定性等。其中,响应时间指用户发出请求到收到响应的时间;吞吐量指单位时间内能处理的请求数量;并发用户数指系统能同时处理的用户数;资源利用率指系统资源的利用率,包括 CPU、内存、磁盘和网络等;稳定性指系统在高负载条件下的稳定运行能力。 4. 性能测试中的负载模型有哪些?请简要介绍每个负载模型的特点。 答:性能测试中的负载模型包括均衡负载、逐步增加负载、峰值负载和压力测试等。其中,均衡负载指在测试期间保持稳定的负载;逐步增加负载指逐步增加负载直到系统达到极限;峰值负载指在某个时间点内突然增加负载,测试系统的瞬时响应能力;压力测试指在长时间内保持高负载,测试系统的稳定性。 5. 性能测试中的常用工具有哪些?请简要介绍每个工具的特点。 答:性能测试中的常用工具包括 LoadRunner、JMeter、Gatling、Locust 和 Artillery 等。其中,LoadRunner 是商业工具,支持多种协议和平台;JMeter 是开源工具,支持多种协议和插件;Gatling 是基于 Scala 的开源工具,支持高并发和多协议;Locust 是 Python 编写的开源工具,支持分布式和多协议;Artillery 是 Node.js 编写的开源工具,支持多协议和分布式测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值