文本
大家好, 今天继续回顾一些性能测试工具,现在轮到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