Perf Test Tools -- Gatling

Test Tools

Posted by Hanke on January 9, 2021

今天做作业的时候需要做一个网站的压测,搜到了这个好用工具,Track一下,后续找时间仔细研究一下。

Gatling

Gating

IDEA

  • IDEA安装Scala插件 File -> Settings -> Plugins, 搜索Scala,点击install
  • Create New Project
    • Select Maven
    • Create from archetype -> Add Archetype and fill in
      • groupid: io.gatling.highcharts
      • artifactid: gatling-highcharts-maven-archetype
      • version: 2.3.7 (maven version)
  • 填写项目对应的groupid, artifactid

Scala

编写Scala code来模拟做压测

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import io.gatling.core.Predef._
import io.gatling.http.Predef._
/**
  * Created at 2021-01-09 18:27
  *
  * Description:
  * PerfTestSimulation
  *
  * @author hmxiao
  * @version 1.0
  */
class PerfTestSimulation extends Simulation{
  val httpConf = http
    .baseURL("http://www.baidu.com")
    .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    .acceptLanguageHeader("en-US;q=0.5")
    .acceptEncodingHeader("gzip, deflate")
    .userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0")

  val data = csv("baidu_search.csv").random

  val scenarioA = scenario("BaiduPerfTest")
    .feed(data)
    .exec(http("requestsearch")
      .get("/s?${params}")
      .check(status.is(200)))

  setUp(scenarioA.inject(constantUsersPerSec(10).during(10)).protocols(httpConf))

}

运行Engine

右键Scala路径test下的Engine文件,run engine 按提示信息输入对应的要运行的simulation。 在运行结果的最后会输出index html的地址打开看即可。
上面的运行结果

Reference

本网站的文章除非特别声明,全部都是原创。 原创文章版权归数据元素(DataElement)所有,未经许可不得转载!
了解更多大数据相关分享,可关注微信公众号”数据元素 数据元素微信公众号