karate - 可以使用 Karate-Gatling 脚本进行分布式测试/集群以进行性能测试吗
问题描述
我们目前正在使用Jmeter
分布式模式(1 个主 + 3 个从)进行 API 性能测试,因为需要生成 10k 个请求。
现在Karate
用于 API 功能测试,并且可以成功地与Gatling
使用Maven
依赖项集成。正如文档所说,我可以在这些脚本中注入用户和持续时间并运行>生成报告(针对 10 个用户进行了测试)。
请指导,有以下疑问:
是否可以让这些 Karate-Gatling 脚本像我们在 Jmeter 分布式模式下一样运行。
在单台机器(AWS/GCP mini instance/VM)中可以使用 Karate-Gatling 脚本注入多少用户。我猜这可能会改变应用程序响应/音量的速度。
我已经通过 Jmeter Vs Gatling 并且看起来只有 Gatling 付费版本支持集群/分布式模式。
解决方案
根据加特林性能测试的优缺点文章:
如果您不想为Gatling FrontLine付费,但您需要进一步进行负载测试,那么分配负载可能不像使用 JMeter 那样容易。尽管如此,并没有丢失所有内容,因为 Gatling 实际上提供了一种使用免费版本的工具分配负载的方法。
在 Gatling 中分配负载的方法可以在这里找到,但 Gatling 的主要思想是基于一个 bash 脚本,该脚本负责执行位于从机中的 Gatling 脚本,然后将模拟生成的日志发送到主机,将在其中构建合并报告。
因此,您可以在多个主机上启动多个 Gatling 实例,并使用提供的 Bash 脚本在不同的机器上同时运行您的测试。您可能还想使用ssh-copy-id
命令来避免输入每台机器的密码
推荐阅读
- javascript - 连接到 Atlas 时遇到问题。谁能指出错误在哪里?
- angular - Angular 8 Reactive 表单在按下 Enter 键时自动添加一行
- c++ - 继承中的构造函数/析构函数调用顺序
- node.js - 无法在 Visual Studio Code 上为密码哈希函数安装 bcrypt.ts
- javascript - ReactDOM act() 函数使用 Enzyme 导致混淆
- google-maps - 谷歌地图中的信息窗口不加载
- python-3.x - 查找“与我共享”文件夹 ID(驱动器 ID)和文件 ID - OneDrive、Microsoft Graph、Python
- php - Laravel websockets导致python套接字错误
- c - MISRA C 指令 4.6
- python - Azure python sdk:如何在不暴露代码凭据的情况下向 Azure 进行身份验证?