【问题标题】:k6 how to restart testing service between scenariosk6如何在场景之间重启测试服务
【发布时间】:2022-01-22 14:37:18
【问题描述】:

我正在使用 k6 运行负载测试,它使用 6 个场景测试我的服务。我正在使用 docker-compose 运行我的服务,并且我想在每个场景之间重新启动我的服务。我找不到为此的内置方法,所以我添加了一个函数来重新启动服务,并添加了一些代码来在每个场景开始时调用该函数(我为每个场景声明了一个初始值为 0 的计数器并调用仅当计数器为 1 时才重新启动功能)。但是每个 VU 都会调用该函数,而不是像我预期的那样。有什么解决办法吗?

提前致谢

【问题讨论】:

    标签: javascript performance-testing load-testing k6


    【解决方案1】:

    听起来您不是在并行执行场景(正如我对 k6 场景所期望的那样),而是按顺序执行。

    k6 中没有内置任何东西,但为什么不提供一个简单的 shell 脚本来按顺序执行以下步骤:

    k6 run scn1.js;
    ./restart-services.sh;
    k6 run scn2.js;
    ./restart-services.sh;
    k6 run scn3.js;
    ./restart-services.sh;
    k6 run scn4.js;
    

    或者将其包装在一个循环中:

    for scn in 1 2 3 4; do
      ./restart-services.sh;
      k6 run "scn${scn}.js";
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-15
      • 2012-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多