【问题标题】:In K6 - How to break the TPS at individual transactions within a single scriptIn K6 - 如何在单个脚本中打破单个事务的 TPS
【发布时间】:2020-05-14 09:49:05
【问题描述】:

我想在单个脚本中的不同 API 调用中实现不同的 TPS 集。

目前我正在使用阶段、minIterationDuration 和睡眠功能来进行思考时间。然而,在 API 级别使用不同的思考时间集无助于实现各种 TPS。已经有 --rps 参数,但它在 API 中平均分配 tps

下面是我的示例代码,

    export default function()
    {
        group("T01_API1", function1.function);  // Example: 50 TPS for API 1
        group("T02_API2", function2.function);sleep(2); // Example: 100 TPS for API 2
        group("T03_API3", function3.function);sleep(2); // Example: 20 TPS for API 3
    }

阶段:

{
       "minIterationDuration":"4s",
       "stages": [
              { "duration": "15s", "target":15}, // Ramp Up
              { "duration": "1h", "target":15}, // Steady State


           { "duration": "10s", "target": 0} // Ramp down 
    ]
}

请注意上面是使用的示例代码,而不是整个脚本,由于系统限制,我无法执行 K6 的多个实例,我需要在单个脚本文件中进行控制。让我知道你的想法

【问题讨论】:

    标签: performance-testing k6


    【解决方案1】:

    新的 k6 v0.27.0 具有到达率执行器(设置每秒迭代次数,即 TPS),并支持多种场景(每个场景中可以有不同的 TPS)。请参阅https://github.com/loadimpact/k6/releases/tag/v0.27.0https://k6.io/docs/using-k6/scenarios/ 中的示例

    【讨论】:

    • 例如,如果我们有两个场景,两个场景是同时执行还是依次执行?
    • 它们将同时执行。您可以使用每个场景的startTime 属性来模拟顺序执行:k6.io/docs/using-k6/scenarios
    猜你喜欢
    • 2018-08-13
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    相关资源
    最近更新 更多