artillery 是一个不错的负载测试套件,功能很强大,支持多协议

安装

npm install -g artillery --unsafe-perm

运行一个简单的快速测试

artillery quick --count 10 -n 20 https://artillery.io/

效果

artillery quick --count 10 -n 20 https://artillery.io/
 
Started phase 0, duration: 1s @ 09:14:49(+0800) 2019-09-11
Report @ 09:14:59(+0800) 2019-09-11
Elapsed time: 10 seconds
  Scenarios launched: 10
  Scenarios completed: 2
  Requests completed: 165
  RPS sent: 17.38
  Request latency:
    min: 198.8
    max: 2113.4
    median: 211.1
    p95: 1057.8
    p99: 1920.7
  Codes:
    200: 165
Report @ 09:15:09(+0800) 2019-09-11
Elapsed time: 20 seconds
  Scenarios launched: 0
  Scenarios completed: 3
  Requests completed: 23
  RPS sent: 2.24
  Request latency:
    min: 205.1
    max: 2057.3
    median: 211.7
    p95: 1348.8
    p99: 2057.3
  Codes:
    200: 23
Report @ 09:15:19(+0800) 2019-09-11
Elapsed time: 30 seconds
  Scenarios launched: 0
  Scenarios completed: 4
  Requests completed: 11
  RPS sent: 0.82
  Request latency:
    min: 200.3
    max: 13235.8
    median: 268
    p95: 13231.4
    p99: 13235.8
  Codes:
    200: 11
Report @ 09:15:20(+0800) 2019-09-11
Elapsed time: 31 seconds
  Scenarios launched: 0
  Scenarios completed: 1
  Requests completed: 1
  RPS sent: NaN
  Request latency:
    min: 1081.2
    max: 1081.2
    median: 1081.2
    p95: 1081.2
    p99: 1081.2
  Codes:
    200: 1
All virtual users finished
Summary report @ 09:15:20(+0800) 2019-09-11
  Scenarios launched: 10
  Scenarios completed: 10
  Requests completed: 200
  RPS sent: 6.46
  Request latency:
    min: 198.8
    max: 13235.8
    median: 211.7
    p95: 1231.8
    p99: 12564.4
  Scenario counts:
    0: 10 (100%)
  Codes:
    200: 200
 

测试脚本方式运行

  • yaml 定义文件
    app.yaml
config:
  target: 'https://artillery.io'
  phases:
    - duration: 60
      arrivalRate: 20
  defaults:
    headers:
      x-my-service-auth: '987401838271002188298567'
scenarios:
  - flow:
    - get:
        url: "/docs"
  • 运行
artillery run app.yaml -o stats.json

效果:
同上

  • 生成报表
artillery report stats.json

效果

参考资料

https://artillery.io/docs/cli-reference/
https://github.com/artilleryio/artillery

artillery 学习一 简单使用的更多相关文章

  1. JMeter学习工具简单介绍

    JMeter学习工具简单介绍   一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态 ...

  2. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  3. IIC驱动学习笔记,简单的TSC2007的IIC驱动编写,测试

    IIC驱动学习笔记,简单的TSC2007的IIC驱动编写,测试 目的不是为了编写TSC2007驱动,是为了学习IIC驱动的编写,读一下TSC2007的ADC数据进行练习,, Linux主机驱动和外设驱 ...

  4. CSS学习------之简单图片切换

    最近一直在重温纯CSS,学习的时候真的才发现,css真的博大精深啊! 所以趁着学习的劲头,谢了个最简单的CSS图片切换! 先整理下思路: 首先我希望图片居中间,两边有个切换按钮,点击按钮的时候,可以实 ...

  5. CMake学习(1)---简单程序与库

    cmake是linux平台下重要的工具,可以方便的组织makefile.之前一直在windows平台下进行软件开发,在vs2010的IDE里,只要一点run程序就能跑出结果.但是程序的编译并没有那么简 ...

  6. Ajax学习(1)-简单ajax案例

    1.什么是Ajax? Ajax是Asynchronous JavaScript and XML 的缩写,即异步的Javascript和XML. 可以使用Ajax在不加载整个网页的情况下更新部分网页信息 ...

  7. [Struts2学习笔记] -- 简单的类型转换

    接下来学习一下Struts2简单的类型转换,Struts2基于ognl.jar实现了简单类型的数据转换.比如jsp页面中的form值与字段值的转换,下面写一个例子. 1.创建一个jsp页面,编写一个f ...

  8. JavaScript学习笔记——简单无缝循环滚动展示图片的实现

    今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...

  9. OpenGL学习-------绘制简单的几何图形

    本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点.直线和多边形我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念在计算机中会有所不同.数学上的 ...

随机推荐

  1. Prometheus 安装部署

    Prometheus 安装部署 安装版本:prometheus-2.6.1 百度云下载:https://pan.baidu.com/s/1w16lQZKw8PCHqlRuSK2i7A 提取码:lw1q ...

  2. python修改linux日志(logtamper.py)

    原作者原文:https://blog.csdn.net/qq_27446553/article/details/51434451 躲避管理员who查看 python logtamper.py -m - ...

  3. latex设置不同中英文字体

    latex中,中文我喜欢宋体,英文喜欢Courier New,于是,我分别设置了中英文字体,文章瞬间顺眼了很多. \documentclass[UTF8]{ctexart} \usepackage[a ...

  4. 3、Vue实例的属性

    1.获取Vue实例的属性 2.data属性 每个Vue实例都会代理其data对象里所有的属性.如果实例创建之后添加或者更改属性,他不会触发视图更新. 这句话说了下面两件事情 1.每个Vue实例都会代理 ...

  5. 聊一下domain和entity

    这段时间在负责海外事务,今天带着客户端走海外商店的支付流程.因为在国内接的大多数是渠道聚合的SDK,客户端就很少关注支付业务流程,只是按照以前的接的demo然后按照渠道提供的参数就直接上了.先po一张 ...

  6. 【转载】C#通过IndexOf方法获取某一列在DataTable中的索引位置

    在C#中的Datatable数据变量的操作过程中,有时候需要知道某一个列名在DataTable中的索引位置信息,此时可以通过DataTable变量的Columns属性来获取到所有的列信息,然后通过Co ...

  7. 含有动态未知字段的 JSON 反序列化

    一般来说,正常的 json 长这个模样: { 'Name': 'Bad Boys', 'ReleaseDate': '1995-4-7T00:00:00', 'Genres': [ 'Action', ...

  8. Java 之 Random 类

    一.Random 类  random 类的实例用于生成伪随机数. Demo: Random r = new Random(); int i = r.nextInt(); 二.Random 使用步骤 1 ...

  9. WDA演练一:用户登陆界面设计(二)

    一,登陆界面设计: 1.将系统编号灰显,默认初值 2.密码栏勾选密码显示,这样就不会明文显示在页面上了: Init方法中添加默认值代码: METHOD wddoinit . DATA lo_nd_zh ...

  10. idea注释类,方法

    1.添加类注释:file-settings-file and code Templates-Class #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ...