如何在不同环境下的负载影响下运行性能测试脚本

时间:2018-08-06 01:51:48

标签: performance-testing

我最近使用loadimpact.com进行性能测试,编写了lua脚本并能够在loadimpact.com中运行。现在如何在不同的环境上运行我的lua脚本。我需要参数化环境URL,我可以使用csv文件。但是不建议将csv文件保存在不同的环境中。请问有谁能帮我这个忙。

谢谢

1 个答案:

答案 0 :(得分:0)

两个建议。您可以在3.0版(Lua脚本)中使用util.dns_remap()

-- Remap loadimpact.com to IP 195.178.177.179
util.dns_remap("example.com", "195.178.177.179")

-- All requests to mysite.com will now be sent to 195.178.177.179
local response = http.request_batch({
    {"GET", "http://example.com/"}
})

您应该考虑通过JavaScript脚本使用v4.0和k6(k6.io)。从命令行触发测试时,可以将环境变量传递给测试/脚本以测试不同的环境。但是,这将需要重写现有脚本。例如

k6 cloud -e MY_HOSTNAME=dev.example.com script.js

以下脚本是script.js:

import { check, sleep } from "k6";
import http from "k6/http";

export default function() {
    var r = http.get(`http://${__ENV.MY_HOSTNAME}/`);
    check(r, {
        "status is 200": (r) => r.status === 200
    });
    sleep(5);
}

这将使您能够利用Load Impact云服务并更优雅地解决原始问题。您可以为测试传递新的ENV变量,或者如果要在CI管道中自动化测试,则可以传递新的ENV。如果每个构建都在创建自己的独特环境,这将非常方便。