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. python3 根据时间获取本月一号和月末日期

    一.概述 有一个统计报表需求,需要知道上个月的第一天和最后一天,来进行上个月的数据统计. 二.代码实现 #!/usr/bin/env python3 # coding: utf-8 import ca ...

  2. Java并发编程: CountDownLatch、CyclicBarrier和 Semaphore

    java 1.5提供了一些非常有用的辅助类来帮助并发编程,比如CountDownLatch,CyclicBarrier和Semaphore. 1.CountDownLatch –主线程阻塞等待,最后完 ...

  3. k8s的学习

    20191123 开始重头再学一遍k8 一 K8S的组件介绍

  4. 打印出三位数的水仙花数Python

    水仙花数计算 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪ ...

  5. 通过Ldap实现人事系统组织人事和AD的同步

    项目需求:同步人事系统的组织架构-对应AD的OU树同步人事系统的员工-对应AD的用户 创建OU 名字不能重复,需要父级路径(parentOrganizeUnit)以及新ou的名字(name),如果最父 ...

  6. c#十进制转换

    1.方法定义 /// <summary> /// 十进制转换 /// </summary> /// <param name="hexChar"> ...

  7. JDBC 复习

    概念 Java DataBase Connectivity java数据库连接 定义了操作所有关系型数据库的规则(接口),不同的数据库厂商编写类实现这些接口,这些类就叫数据库驱动,使得用户只需要使用统 ...

  8. Spring Security 解析(三) —— 个性化认证 以及 RememberMe 实现

    Spring Security 解析(三) -- 个性化认证 以及 RememberMe 实现   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把 ...

  9. tomcat添加https服务

    系统环境: centos6.7 jdk-7u79-linux-x64 apache-tomcat-7.0.57 apr-1.5.2 apr-util-1.5.4 一.tomcat安装 自己准备tomc ...

  10. vue + yarn 项目开发 (一)

    1.打开src文件夹中的main.js文件,添加引用element ui框架 import ElementUI from 'element-ui' import 'element-ui/lib/the ...