k6
0.54.0
DevOps 时代的开发人员和测试人员的现代负载测试。
下载·文档·社区论坛·公共路线图
k6是一种现代负载测试工具,基于我们在性能和测试行业多年的经验而构建。它功能强大、可扩展且功能齐全。关键设计目标是提供最佳的开发人员体验。
其核心特点是:
这就是 21 世纪负载测试的样子。
import http from "k6/http" ;
import { check , sleep } from "k6" ;
// Test configuration
export const options = {
thresholds : {
// Assert that 99% of requests finish within 3000ms.
http_req_duration : [ "p(99) < 3000" ] ,
} ,
// Ramp the number of virtual users up and down
stages : [
{ duration : "30s" , target : 15 } ,
{ duration : "1m" , target : 15 } ,
{ duration : "20s" , target : 0 } ,
] ,
} ;
// Simulated user behavior
export default function ( ) {
let res = http . get ( "https://test-api.k6.io/public/crocodiles/1/" ) ;
// Validate response status
check ( res , { "status was 200" : ( r ) => r . status == 200 } ) ;
sleep ( 1 ) ;
}
您可以在 CLI、CI 或跨 Kubernetes 集群中运行这样的脚本。
该文档涵盖了使用 k6 的所有方面。一些亮点包括:
这些链接仅仅触及表面!如果您正在寻找概念性信息,您可以阅读有关测试类型、测试策略或众多信息丰富的博客文章之一。
我们的团队致力于不断改进并提供最佳的用户体验。公共路线图涵盖了我们团队将重点关注的面向用户的功能、UX 改进和 JavaScript 支持。请记住,时间框架和优先事项可能会发生变化,但我们相信分享我们的愿景很重要。
我们希望它能够清晰地概述我们未来的发展计划。我们欢迎通过 GitHub 提供反馈、更正和建议,以使其更加全面、易于访问且对社区有价值。
值得一提的是,我们认为点赞(竖起大拇指)是确定社区需求的基本指标之一。如果您想向我们展示某个功能的重要性,请点赞。
如果您想为 k6 的开发做出贡献或提供帮助,请首先阅读 CONTRIBUTING.md。在开始编码之前,最好先与 k6 维护人员讨论您的计划和实现细节,尤其是在涉及重大更改和功能时。您可以在要解决的问题的 GitHub 问题中执行此操作(如果不存在,则创建一个)。
注意:要披露安全问题,请参阅 SECURITY.md。
要获得帮助、报告错误、建议功能以及与其他人讨论 k6,请参阅 SUPPORT.md。
k6 在 AGPL-3.0 许可证下分发。