前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试之gatling详解

性能测试之gatling详解

作者头像
企鹅号小编
发布2018-01-25 11:25:27
2.4K0
发布2018-01-25 11:25:27
举报
文章被收录于专栏:应用案例

大家接触过形形色色的压力测试工具,例如lr,jmeter各有各的优点,那么最近在做接口测试中涉及到压力测试,小弟就看到一个好用的工具俗称“加特林”英文Gatling,就简单研究一番,今天为大家分享一下。

Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。目前仅支持http协议,可以用来测试web应用程序和RESTful服务

官网:https://gatling.io/

优点:

1.gatling和其他压力工具相比有个好处是放在同一内网环境下linux服务器上,这样避免其他压力使用办公机使用共有网络,网络情况对压力测试的影响。

2 生成比较详细的压力测试报告。

3 能够更灵活的编写压力脚本。

4 可以jenkins集合,将压力测试整合自动化持续集成中

上面都是干货,下面为大家直接实战,我是通过java+maven+scala搭建的一个环境以及Demo.

1.创建一个Maven项目

2、安装Scala插件

3、pom添加核心依赖包

io.gatling

gatling-app

$

io.gatling

gatling-recorder

$

io.gatling.highcharts

gatling-charts-highcharts

$

-----太多我就不一一贴出,有兴趣微信公众号或者qq群联系我。

4.下面就是Demo

/**

* Created by Administrator on 2017/12/10.

*/

importio.gatling.core.Predef._

importio.gatling.http.Predef._

classABTestextendsSimulation {

//1.主要实现模拟不同用户重复100次执行结果

objectSearch {

//val feeder = csv("D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv")

valsearch=repeat(100) {//重复次数100次

//读取csv数据

valfeeder = csv("D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv").random

feed(feeder)

.exec(http("ABTest")

.get("/abTest?appkey=$&deviceid=$"))

.pause(1)

//exec()里的参数就是我们的执行动作,http("本次请求的名称").get("本次http get请求的地址")

}

}

valhttpConf=http

.baseURL("http://10.168.99.209:8080/abapi")////设置请求的根路径

valusers=scenario("Users").exec(Search.search)//声明Scenario,指定我们的请求动作

setUp(

users.inject(atOnceUsers(400)).protocols(httpConf))

//atOnceUsers立马启动的用户数,可以理解为并发数

}

读取Excl数据500个用户

D:\\gatling-2.2.5\\gatling-charts-highcharts-bundle-2.2.5\\user-files\\data\\appdata.csv

5、自动生成的测试报告:

概览800ms下响应的请求次数10,右边的饼状图显示成功请求10个,失败0个。注意在Global页面里的图都是整体的统计(一个测试计划可包含多个http请求),如果需要看某个请求的情况可点击到Details页面,并选取对应的请求

大家如果有感兴趣的方向文章,可以直接给我留言,我会去写你们感兴趣的文章。

想要了解,获取更多和测试相关的知识请添加此群,本群提供App、Web等Ui自动化,App性能测试,接口功能,

接口自动化测试,jemeter、loadrunner工具介绍,静态代码扫描实践;测试理论,

测试流程。测试管理。

App自动化及Web自动化全栈测试:群号544126564(想要更多资料立即加入此群)

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档