k6 是一种高性能负载测试工具,使用 Go 编写,的 k6 是一种高性能负载测试工具,并结合了 JavaScript 运行时,可以轻松编写测试脚本,支持用户编写测试脚本的测试套件。弥补了 ab 测试功能不足,以及 jemeter 不容易代码化的问题。
适用于各种应用程序和系统的性能测试需求,能够快速、准确地评估系统的性能和稳定性
k6 需要使用包管理器安装,在 macOS 中,可以使用 Homebrew;在 Windows 操作系统中,可以使用 Chocolatey、winget 安装。
Linux:
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
MACOS
brew install k6
WINDOWS
choco install k6
或
winget install k6
本教程中,我们参照 windows 安装指南,使用官方的提供的安装程序进行安装。直接下载安装包进行安装
下载链接在址: https://dl.k6.io/msi/k6-latest-amd64.msi
在命令行中运行以下命令来验证 k6 是否成功安装:
k6 version
如果看到 k6 的版本信息,则表示安装成功。
不管以何种方式进行安装,为了方便在任何位置使用 k6 命令,建议将 k6 的安装目录添加到系统的环境变量中。
这样,就可以在命令行中直接运行"k6"命令。
以下是一个简单的"Hello World"测试脚本示例,模拟向 TesterHome 社区发送请求并打印出响应:
import http from 'k6/http';
export default function () {
// 向目标网站发送GET请求
let response = http.get('https://testerhome.com/');
// 打印响应状态码和响应正文
console.log(`请求响应码 code: ${response.status}`);
console.log(`请求响应正文: ${response.body} `);
}
在这个示例中,我们导入了 k6/http 模块。然后,定义了一个默认的测试函数,该函数在每个虚拟用户的迭代中执行。
在函数内部,我们使用 http.get() 发送了一个 GET 请求到"https://testerhome.com/response`变量中。接着,我们使用`console.log()`打印了响应的状态码和响应正文。",然后将响应存储在`
通过命令行运行测试脚本:
k6 run .\helloword.js
通过结果可以看到,返回了对应的请求响应码、请求响应正文