Установление порога отклонения в `http_req_duration` с k6? - PullRequest
0 голосов
/ 31 марта 2020

Я хочу создать пользовательскую метрику c с k6 для нагрузочного тестирования сервиса. Я хочу измерить отклонение между http_req_duration между старой версией (до изменения кода) и новой версией (с изменением кода) и установить порог для разницы. Можно ли это сделать в k6? Если да, то как мне это сделать?

1 Ответ

0 голосов
/ 31 марта 2020

Используя этот код ниже:

import http from "k6/http";
import {Trend} from "k6/metrics";

var diffT = new Trend("DiffTrend", true); // this true is just so in the summary it shows them as times

var oldURL = "https://test.loadimpact.com";
var newURL = "https://test.k6.io";

export default function() {
    // you can use http.get, but this way the two requests will be done at the same time which will save time and probably be a better comparison
    var res = http.batch([
        ["GET", oldURL, null, {"tags": {"varaint": "old"}}],
        ["GET", newURL, null, {"tags": {"varaint": "new"}}],
    ])
    diffT.add(res[0].timings.duration - res[1].timings.duration);
}

Вы можете использовать это двумя различными способами:

  1. использовать те метрики diffT, которые, вероятно, самые простые, но я Я бы сказал, что это ни к чему хорошему, кроме простейших случаев, так как он обрабатывает только запросы на запрос различий, а не общую картину ... Но вы собираетесь использовать 10 запросов к одному и тому же API, вероятно, этого будет достаточно .

  2. Вы можете использовать тег «Вариант», чтобы различать guish и сравнивать любой метри c, который вы хотите, для каждого и всех запросов между старым и новый. Это лучший подход IMO, с помощью Grafana это будет намного мощнее и даст вам намного лучшую картину.

...