如何在空手道加特林中每秒加载更多请求

2024-02-14

我正在尝试重用空手道脚本并使用加特林执行负载测试。定义的场景是每秒加载 50 个用户,持续 10 秒。 (对 500 个用户进行负载测试)但是,gatting 报告中每秒的请求数不超过 20 个请求。如果我做错了什么,请告诉我。 执行空手道脚本的ExampleTest.java代码

//package examples;

import com.intuit.karate.Results;
import com.intuit.karate.Runner;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import net.masterthought.cucumber.Configuration;
import net.masterthought.cucumber.ReportBuilder;
import org.apache.commons.io.FileUtils;

class ExamplesTest {
    
    @Test
    void testParallel() {
        //System.setProperty("karate.env", "demo"); // ensure reset if other tests (e.g. mock) had set env in CI
        Results results = Runner.path("classpath:examples").tags("~@ignore").parallel(10);
        generateReport(results.getReportDir());
        assertEquals(0, results.getFailCount(), results.getErrorMessages());        
    }
    
    public static void generateReport(String karateOutputPath) {        
        Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] {"json"}, true);
        List<String> jsonPaths = new ArrayList<String>(jsonFiles.size());
        jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
        Configuration config = new Configuration(new File("target"), "demo");
        ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
        reportBuilder.generateReports();        
    }
    
}

用于定义负载测试场景的 Scala 代码。

package perf

import com.intuit.karate.gatling.PreDef._
import io.gatling.core.Predef._
import scala.concurrent.duration._

class KarateSimulate extends Simulation {
    

    val protocol = karateProtocol(
    "/v2/" -> Nil,
    "/v2/" -> pauseFor("get" -> 0, "post" -> 25)
    )
    val userfeeder = csv("data/Token.csv").circular

    val getScores = scenario("Get Scores for Students").feed(userfeeder).exec(karateFeature("classpath:examples/scores/student.feature"))

    setUp(
        getScores.inject(constantUsersPerSec(50) during (10 seconds)).protocols(protocol)
    )   
}

我们更新了文档(在develop分支),并提供有关如何在需要时增加线程池大小的提示:https://github.com/intuit/karate/tree/develop/karate-gadling#increasing-thread-pool-size https://github.com/intuit/karate/tree/develop/karate-gatling#increasing-thread-pool-size

添加一个名为gatling-akka.conf到类路径的根(通常src/test/resources)。这是一个例子:

akka {
  actor {
    default-dispatcher {
      type = Dispatcher
      executor = "thread-pool-executor"
      thread-pool-executor {
        fixed-pool-size = 100
      }
      throughput = 1
    }
  }
}

由于我们最近做了一些修复,如果上述方法不适用于 0.9.6.RC4,请尝试从源代码构建,这很简单,以下是说明:https://github.com/intuit/karate/wiki/Developer-Guide https://github.com/intuit/karate/wiki/Developer-Guide

如果这不起作用,请务必遵循此流程,以便我们可以复制:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

请参阅下面的这些链接,了解其他人如何与空手道项目团队合作来复制问题以便解决这些问题的良好示例:

https://github.com/intuit/karate/issues/1668 https://github.com/intuit/karate/issues/1668

https://github.com/intuit/karate/issues/845 https://github.com/intuit/karate/issues/845

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在空手道加特林中每秒加载更多请求 的相关文章

随机推荐

  • 无法使用 PowerMockito/Mockito 模拟 URL 类

    我正在尝试使用 PowerMockito 来模拟我正在测试的代码中 java net URL 类的创建 基本上 我想防止发生真正的 HTTP 请求 而是 1 在发出请求时检查数据 2 在模拟响应上提供我自己的测试数据 这就是我正在尝试的 R
  • awk 中比较连续行

    我想使用 awk 命令比较文件中的连续行 这是输入和输出的示例 输入文件 6 7 8 9 10 4 5 6 我想要的输出文件是这样的 6 7 8 9 10 14 15 16 基本上我想比较当前行是否大于前一行 并继续打印前一行和当前行 一旦
  • 如何采取行动关闭 NSPopover?

    您好 我在我的一个应用程序中实现了 NSPopover 但弹出窗口不会关闭 我猜一旦我单击其他内容 它应该关闭 但事实并非如此 我知道有一个关闭弹出窗口操作 但这只适用于不同的按钮 当我按下同一按钮时 如何才能看到弹出窗口已打开以及何时打开
  • 使用泛型从枚举中获取最大值

    如何使用泛型从枚举中获取最大 int 值 我已尝试以下操作 但它显示以下编译错误 无法将 T 隐式转换为 int int maxValue GetMaxValue
  • 如何在 2019.3 中删除我的 IntelliJ 许可证?

    我安装了 JetBrains IntelliJ 如何删除许可证设置 我可以在以下位置找到许可证详细信息Help gt Register 菜单 但这不允许我删除许可证设置或输入无效数据 例如不存在的许可证服务器 用例 我安装了一个许可证服务器
  • 是否可以在 Spring MVC REST 端点中验证 @RequestParam?

    在 Jersey 2 中可以这样做 GET PATH user email public IDto getUser NotNull Email PathParam email String validEmail return userMan
  • 如何将列表转换为队列来实现先进先出

    考虑 public List
  • 数组公式中当前行中的 COUNTA (Google 表格)

    我有一个具有固定数量的列和动态行的 Google 工作表 我喜欢使用 countA 来计算当前行中具有值 非空白 的字段 我找到了一个公式在这里 https productforums google com forum topic docs
  • Android权限保护级别18和50

    当我转储 Nexus 7 上所有应用程序的所有权限时 我 如预期 获得保护级别为 0 正常 1 危险 2 签名 的权限 3 SIGNATURE OR SYSTEM 以下没有任何记录 但也有很多权限的保护级别设置为 18 有些权限设置为 50
  • 相机在 android 2.2 上不工作

    在Android SDK和AVD Manager中 我创建了一个新的android虚拟设备 如下所示 姓名 myavd 目标 Android 2 2 API 级别 8 SD 卡 50MiB 内置 默认 HVGA 硬件 抽象 LCD 密度 1
  • LdapConnection 与 PrimaryContext

    我有以下两种使用 LDAP 和 LDAPS 验证用户身份的实现 我想知道哪个更好 更正确 郑重声明 这两种方法都适用于 SSL 和非 SSL 连接 我也很好奇 因为当在 Wireshark 上观看时Non SSL PrincipalCont
  • php中usort()函数如何工作

    我查看了 php 文档 在线教程 但没有看到 usort 是如何实际工作的 我在下面有一个我正在玩的例子 data array array msg gt some text month gt 11 level gt 10 array msg
  • 使用传输客户端的安全弹性连接

    需要使用 java 代码中的传输客户端连接到具有 https 身份验证的安全弹性搜索 我有用户 ID 和密码来连接安全弹性 我使用的是elasticsearch 7 10 0 try Settings settings Settings b
  • 何时在休眠中使用 Criteria.ALIAS_TO_ENTITY_MAP?

    我是冬眠新手 我已阅读以下行 Criteria ALIAS TO ENTITY MAP 请帮助我何时使用Criteria ALIAS TO ENTITY MAP Thanks 这些通常与 hibernate 中的结果集转换器一起使用 阅读A
  • 如何在网络表单中加载页面之前填充下拉列表?

    我的控件 System Web UI UserControl 中有以下 Page Load 方法 protected void Page Load object sender EventArgs e DropDownList ShowAss
  • 无法在unity java插件上使用google play服务

    我有一个用 Java 编写的 Unity 插件 在这个插件中我需要获取新的 Google广告ID http googledevelopers blogspot co il 2013 10 google play services 40 ht
  • 如何将事件侦听器添加到 Highcharts 对象*之后*我创建它

    我正在尝试在创建 highcharts 对象后向其添加事件侦听器 我可以在申报时添加一项 当我尝试使用 Chrome 控制台来确定在何处附加侦听器后声明时 我做不到 如果您想在创建图表后添加事件侦听器 文档提供了一些关于扩展高图表 http
  • 尝试打印链接名称时出现 StaleElementReferenceException

    我正在尝试打印谷歌搜索中显示的前 5 页链接 但是得到 StateElementReferenceException 不确定哪一个出了问题 public class GoogleCoInTest static WebDriver drive
  • 如何阻止 Python 在 Microsoft Windows 中执行时立即关闭

    我刚刚上大学 我们将使用 python 我们确实什么也没做 所以我下载了程序并执行了一些打印命令 仅此而已 当我运行我的 py 文件时 print命令 出现后立即关闭 我理解它为什么这样做 它给出了输出 所以它完成了它需要做的事情 但我也理
  • 如何在空手道加特林中每秒加载更多请求

    我正在尝试重用空手道脚本并使用加特林执行负载测试 定义的场景是每秒加载 50 个用户 持续 10 秒 对 500 个用户进行负载测试 但是 gatting 报告中每秒的请求数不超过 20 个请求 如果我做错了什么 请告诉我 执行空手道脚本的