栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

K6压测工具相关总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

K6压测工具相关总结

  • K6压测工具:
    • 能够利用Go的性能优化,也就意味着内存利用率大大降低,k6中的一个线程不会超过100kb,而JMeter使用的JVM线程则需要默认1MB,是k6的十倍。
  • 负载测试工具运行虚拟用户的最简单也是最常见的方法是将一个虚拟用户分配给一个内核或操作系统线程,一个线程一个虚拟用户模式存在严重缺陷,当虚拟用户正在等待响应或正在执行sleep()命令时,线程会被阻止,无法运行其进程。

  • 在k6中,每个虚拟用户都在goroutine而不是线程上运行,这有什么区别呢?

    • goroutines可以由Go Scheduler控制,它就像一个交通警察,它通过“work stealing”和线程之间的工作交接,重用闲置的线程并智能地分配工作,这与构建负载均衡器的原理相同,监督工作流程的外部监视器可提高总体绩效,
    • Go在本质上以许多编程语言都没有的方式实现了负载平衡,这使其非常适合于负载测试工具。

K6工具的优势:

  • 没有GUI意味着在负载测试期间没有资源开销

  • 线程模型而言:

    • JMETER:1个线程1个虚拟用户:性能较慢,资源成本较高
    • K6:一个Goroutine 1个虚拟用户:性能较快,资源成本更低
  • K6下包含的Executor

    • 参考:【k6 - Scenarios - Executors】

关于两者比较,有更多信息:

  • 比较k6和JMeter的负载测试
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/280662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号