压测

开源分布式压测引擎

2019-10-09  本文已影响0人  欧几里喵

Gatling Pea

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

banner.jpeg

关于 Gatling

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

关于 Pea

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


脚本示例


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
上一篇下一篇

猜你喜欢

热点阅读