微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gatling怎么使用

本篇内容主要讲解“gatling怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“gatling怎么使用”吧!

在讨论 gatling 之前,先了解下理论知识,性能测试的两种类型,负载测试和压力测试:

  • **负载测试(Load Testing):**负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标,譬如软件在一定时期内,最大支持多少并发用户数,软件请求出错率等,测试的主要是软件系统的性能

  • **压力测试(Stress Testing):**压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试最大的差别在于测试目的不同。

gatling 简介

Gatling怎么使用

gatling一个功能强大的负载测试工具。它是为易用性、可维护性和高性能而设计的。

开箱即用,gatling 带有对 HTTP 协议的出色支持,使其成为负载测试任何 HTTP 服务器的首选工具。由于核心引擎实际上是协议不可知的,所以完全可以实现对其他协议的支持,例如,gatling 目前也提供JMS 支持

只要底层协议(如 HTTP)能够以非阻塞的方式实现,gatling 的架构就是异步的。这种架构可以将虚拟用户作为消息而不是专用线程来实现。因此,运行数千个并发的虚拟用户不是问题。

gatling 快速入门实践

1、创建 Spring Boot 应用,提供 RESTful API,以供测试 > https://github.com/ChinaSilence/gatling-test.git

如果有自己测试的 Web 应用可以忽略本步骤!

2、启动数据库

Github 中的示例代码依赖了 Postgressql,所以要先启动数据库,最简单的方式当然是用 Docker 咯:

docker run -d \
  --name postgres \
  -e POSTGRES_DB=gatling \
  -e POSTGRES_USER=gatling \
  -e POSTGRES_PASSWORD=gatling123 \
  -p 5432:5432 \
  postgres

3、在 IDEA 中安装 scala 环境

安装 scala 插件

Gatling怎么使用

安装 scala SDK

Gatling怎么使用

4、编写性能测试脚本

一个 gatling 测试都要继承 Simulation 类,在里面你可以使用gatling Scala DSL 来声明一个场景列表。这里的目标是运行 30 个客户端,同时发送 1000 次请求。首先,客户端通过调用 POST /persons 方法添加数据到数据库中;然后,尝试通过调用 GET /persons/{id} 方法使用 id查询数据。

class ApigatlingSimulationTest extends Simulation {

  val scn = scenario("AddAndFindPersons").repeat(1000, "n") {
    exec(
      http("AddPerson-API")
        .post("http://localhost:8080/persons")
        .header("Content-Type", "application/json")
        .body(StringBody("""{"firstName":"John${n}","lastName":"Smith${n}","birthDate":"1980-01-01", "address": {"country":"pl","city":"Warsaw","street":"Test${n}","postalCode":"02-200","houseNo":${n}}}"""))
        .check(status.is(200))
    ).pause(Duration.apply(5, TimeUnit.MILLISECONDS))
  }.repeat(1000, "n") {
    exec(
      http("GetPerson-API")
        .get("http://localhost:8080/persons/${n}")
        .check(status.is(200))
    )
  }

  setUp(scn.inject(atOnceUsers(30))).maxDuration(FiniteDuration.apply(10, "minutes"))

}

5、运行 Spring Boot 应用

Gatling怎么使用

6、运行测试脚本

配置 Maven 插件参数

    <build>
        <plugins>
            <plugin>
                <groupid>io.gatling</groupid>
                <artifactid>gatling-maven-plugin</artifactid>
                <version>${gatling-plugin.version}</version>
                <configuration>
                    <!-- 测试脚本 -->
                    <simulationclass>com.anoyi.test.ApigatlingSimulationTest</simulationclass>
                    <!-- 结果输出地址 -->
                    <resultsfolder>/Users/admin/code/gatling</resultsfolder>
                </configuration>
            </plugin>
        </plugins>
    </build>

执行测试

mvn gatling:execute

Gatling怎么使用

7、查看测试报告

全局报告

Gatling怎么使用

单个接口明细报告

Gatling怎么使用

Gatling怎么使用

Gatling怎么使用

Gatling怎么使用

到此,相信大家对“gatling怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程之家网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐