美文网首页压测
开源分布式压测引擎

开源分布式压测引擎

作者: 欧几里喵 | 来源:发表于2019-10-09 15:26 被阅读0次

Gatling Pea

https://github.com/asura-pro/pea/

banner.jpeg

关于 Gatling

Gatling 是基于 NettyAkka 技术实现的高性能压测工具.

关于 Pea

由于单独一台机器硬件资源和网络协议的限制存在, 在高负载测试中需要多台机器共同提供负载. Pea 是在以 Galting 为引擎, 在多节点场景下的压测工具. 包含以下特性:

  • 管理和监控多个工作节点. 依赖 Zookeeper

  • 运行过程中可以实时查看每个节点的具体执行状态

  • 多个节点执行完后会自动收集日志, 生成统一的报告

  • 支持原生的 Gatling 脚本, 原生的 HTTP 协议

  • 扩展支持了 DubboGrpc 协议

  • 以 Git 仓库管理脚本和资源文件

  • 内置了 Scala 增量编译器, 脚本可在线快速编译

  • 不同于其他实现, 所有这些功能都在同一进程内实现. 感谢 Gatling 作者高质量的代码

  • 可以在实体机, 虚拟机, Docker 容器中运行


脚本示例


import asura.pea.dubbo.Predef._

import asura.pea.dubbo.api.GreetingService

import asura.pea.gatling.PeaSimulation

import io.gatling.core.Predef._

class DubboGreetingSimulation extends PeaSimulation {

  override val description: String =

    """

      |Dubbo simulation example

      |""".stripMargin

  val dubboProtocol = dubbo

    .application("gatling-pea")

    .endpoint("127.0.0.1", 20880)

    .threads(10)

  val scn = scenario("dubbo")

    .exec(

      invoke(classOf[GreetingService]) { (service, _) =>

        service.sayHello("pea")

      }.check(simple { response =>

        response.value == "hi, pea"

      }).check(

        jsonPath("$").is("hi, pea")

      )

    )

  setUp(

    scn.inject(atOnceUsers(10000))

  ).protocols(dubboProtocol)

}


截图示例

创建任务

shoot-01.png

任务执行中的节点状态

shoot-job.png

整体报告

report-01.png

单个请求细节报告

report-02.png

相关文章

  • 开源分布式压测引擎

    Gatling Pea https://github.com/asura-pro/pea/ 关于 Gatling ...

  • Jmeter分布式压测的配置及注意事项

    1、Jmeter分布式压测的目的: 避免单机压测的物理硬件限制,更加贴近真实情况 2、Jmerer分布式压测的原理...

  • jmeter 分布式压测配置Linux

    本文只讲jmeter分布式压测怎么在Linux环境下配置:使用分布式压测,是因为单个压测机并发到不到系统要求,所以...

  • Jmeter基于Docker的分布式压测

    Jmeter基于Docker的分布式压测 Jmeter基于docker分布式压测的测试环境搭建 在本机按照自己的习...

  • 使用boost::asio 模拟JMeter做分布式压测网络部分

    本例使用boost::asio模拟jmeter做分布式压测网络部分的原理,虽然比较简单,但基本可以实现分布式压测的...

  • Elasticsearch初识

    开源分布式搜索分析引擎, 基于Java语言开发, 采用Lucene内库构建 近实时 分布式存储, 搜索, 分析引擎...

  • jmeter分布式压测与no-GUi模式压测

    一、分布式压测 1.分布式压测总体结构 选择一台机器作为调度机(master),其他的机器作为测试执行的执行机(...

  • ElasticSearch

    ES介绍 ES开源 可扩展 的 分布式 全文搜索和数据分析引擎 功能 分布式搜索引擎 全文检索 数据分析引擎 对海...

  • 分布式压测

    1.本地机器由于本身自己的配置低,只能压到1000个并发,此时就需要分布式压测 2.Jmeter压测原理 Mast...

  • Flink on Native Kubernetes with

    Kubernetes :容器编排引擎Flink:分布式流数据流引擎minio:开源的对象存储服务器(类似阿里OSS...

网友评论

    本文标题:开源分布式压测引擎

    本文链接:https://www.haomeiwen.com/subject/eudgpctx.html