千家信息网

Gatling怎么使用

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本篇内容主要讲解"Gatling怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Gatling怎么使用"吧!在讨论 Gatling 之前,先了解下理
千家信息网最后更新 2024年11月27日Gatling怎么使用

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

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

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

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

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 插件

安装 scala SDK

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 应用

6、运行测试脚本

配置 Maven 插件参数

                                        io.gatling                gatling-maven-plugin                ${gatling-plugin.version}                                                        com.anoyi.test.ApiGatlingSimulationTest                                        /Users/admin/code/gatling                                        

执行测试

mvn gatling:execute

7、查看测试报告

全局报告

单个接口明细报告

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

测试 数据 压力 性能 系统 软件 支持 运行 报告 数据库 方法 用户 目标 应用 设计 最大 内容 实际 客户 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器本地磁盘买了咋办 北京中关村网络安全测评联盟 网络安全周大学生活动 苏康码出不来显示服务器异常 计算机等级3网络技术 耐磨球服务软件开发 软件开发工程师证书 p4 代理服务器拒绝连结 浏览器无法找到服务器 网络安全宣传文字内容 北京开源软件开发诚信企业推荐 苹果腾讯超前点播联系不上服务器 武汉app软件开发找哪家公司 服务器提交xml格式 华为elk数据库版本号 重庆平伟科技集团网络安全 网络技术介质 为什么要使用分布式服务器 软件开发工具免费下载 网络安全有关的边框 db数据库的软件打开方式 政府部门网络安全论文 成都软件开发服务 本机访问虚拟机服务器 自考软件开发专业哪个好 数据库对存储介质的要求 数据库中关系模式的数据结构是 计算机和服务器cpu的区别 龙华网络安全运维价格是怎样的 梦幻西游恭喜发财服务器不卡
0