性能优化与压测引擎一:压测框架gatling

本文介绍了Gatling作为一款强大的压测框架,以其直观的报告和便捷的脚本编写脱颖而出。Gatling使用Scala语言,支持模拟复杂并发场景,尤其适合HTTP协议的压测。其提供的报告详细全面,包括接口调用次数、成功率、QPS等关键指标。通过示例展示了简单的Gatling脚本,强调了它如何创建场景和注入用户。此外,文章提到Gatling的Java API(3.7.x版本)使得非Scala开发者也能轻松上手。最后,作者预告将基于Gatling开发一个Web版本的压测系统,并计划开源。

性能优化与压测引擎一:压测框架gatling

压测框架gatling

说到压测,我们最熟悉的可能就是ab命令和jmeter了,确实他们很方便,但是我最近都在用另外一个压测框架,叫gatling,为什么呢,因为他的报告很吸引我,而且写压测脚本很方便,功能也挺全的,他可以很好的去模拟一些场景,用的是scala语言,用到actor模型,很容易模拟大量并发的场景,并发真的很强,我觉得挺不错的,天生封装了http的协议,当然可以想办法实现GRPC或者DUBBO,网上其实有的,遗憾的可能就是需要用到scala,对于纯JAVA的可能不是那么友好把,不过仅仅是用压测那些脚本逻辑问题应该不大。这里我用他自带的demo说明下好了,为了给后面做铺垫,官网是https://gatling.io/,有兴趣的可以下个最新版玩玩,很方便,看看结果,也有大佬做的比较,有兴趣可以看看Gatling与Jmeter的比对

简单使用介绍

下载完直接解压打开,去bin目录下:在这里插入图片描述

然后在目录中打开cmd,输入gatling,他会启动,然后让你选择要模拟的脚本,有编号的,比如我输入了0,之后就等他跑,跑的时候会有信息:
在这里插入图片描述
就可以看到他会显示出请求名字,然后是成功和失败数目:
在这里插入图片描述
最终跑完后会生成报告:
在这里插入图片描述

报告在results目录内:
在这里插入图片描述
进去打开index.html
在这里插入图片描述
报告页面:
在这里插入图片描述
可以看到这里有所有的接口的信息,包括总共调用多少次,成功和失败的比率,QPS,最大最小耗时,然后百分比区间耗时等,很全,而且你还可以点进去看详细的:
在这里插入图片描述
在这里插入图片描述
然后下面还有一些用户注入,响应时间,请求频率等信息:
在这里插入图片描述
在这里插入图片描述

然后我们来看下这个压测脚本,居然是java的(3.7.x好像有javaapi,以前都是scala的),当然也可以用scala,其实内部核心是akka,用scala写的,都可以转换为字节码,在jvm上跑的,可以互相调用,也方便的,就是用scala不习惯:
在这里插入图片描述

看下脚本,其实很简单,就是跟普通写http请求差不多,只是这里需要创建场景,给用户并发这种,这个是框架自带的,可以直接用


package computerdatabase;

import static io.gatling.javaapi.core.CoreDsl.*;
import 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值