项目地址: https://github.com/asura-pro/pea . 可以点星支持下哦。
Gatling 是基于 Netty 和 Akka 技术实现的高性能压测工具.
由于单独一台机器硬件资源和网络协议的限制存在, 在高负载测试中需要多台机器共同提供负载. Pea
是在以 Galting
为引擎, 在多节点场景下的压测工具. 包含以下特性:
HTTP
协议Dubbo
和 Grpc
协议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)
}
创建任务
任务执行中的节点状态
整体报告
单个请求细节报告
怎么进行 grpc 接口测试?
星已点,很好的项目 只不过对于 scala 不是特别熟悉 还有 scalaweb 框架都不是特别了解 阅读起来有点麻烦