文本

大家好, 今天继续回顾一些性能测试工具,现在轮到Jmeter和Gatling,看来当今越来越多的人正在使用它。 切记,请务必检查其他选项,并查看哪种更适合您的项目。

Jmeter是一个伟大而强大的工具,但是根据您真正需要的(更轻的),Jmeter可能会成为一个过于复杂、缓慢、难以维护的工具。

jmeter Gatling
内置协议支持 HTTP FTP JDBC SOAP LDAP TCP JMS SMTP POP3 IMAP HTTP JMS MQTT
Speed to write tests Slow Fast
Support of “Test as Code” GUI面向 可能创建脚本 但太复杂和缺乏文档 很难维护 Scripts oriented Scala and Gatling Domain Specific Language (DSL) Easier to maintain
Ramp-up Flexibility 插件可用来配置灵活的负载 支持升压阶段和灵活的负载
测试结果分析 Yes Yes
资源消耗 在一台机器上运行多个用户的测试会消耗更多的内存 重量轻,不会占用您的机器的那么多内存
易于使用版本控制系统 No Yes
并发用户数 Thousands, under restrictions Thousands
录制功能 Yes 没有,但是它允许通过HAR文件自动生成k6脚本
分布式 Yes Yes
负载测试监控 添加侦听器,但消耗更多内存 是的,通过控制台的日志和报告在最后创建

Jmeter在以下情况下最常用:

您需要执行包含不同协议的复杂负载

你可以记录场景

强有力的支持和培训生态系统

要求为每个测试编写完整的场景

如果您需要使用一些自定义的加载模式来模拟特定的加载

如果您只是喜欢UI桌面应用程序的脚本创建,或您只是不知道Javascript/YAML/JSON足够好

Gatling解决了一些具体的问题:

向您的VCS推送脚本,并轻松地维护脚本

轻松挂钩到CI/CD管道

减少对插件和第三方插件的依赖

你可以记录场景

脚本Gatlin DSL语言很容易学习:

https://gatling.io/docs/current/quickstart

https://gatling.io/docs/current/general/scenario

https://gatling.io/docs/current/general/simulation_structure

在没有额外GUI应用程序的情况下,花费最少的维护时间

开放源码,但你可以付费购买提供高级分析和集成的前沿版本(本文只关注开放源码版本)

更高效的大规模负载测试和轻量级

author

石头 磊哥 seven 随便叫

company

thoughtworks

大家好,本人不才,目前依旧混迹于thoughtworks,做着一名看起来像全栈的QA,兴趣爱好前端,目前是thoughtworks 西安QA社区的leader,如果有兴趣分享话题,或者想加入tw,可以找我

roles

QA(营生) dev(front-end dev 兴趣爱好)

联系方式

如果想转载或者高薪挖我 请直接联系我 哈哈

wechat:

qileiwangnan

email:

qileilove@gmail.com