搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > TimTest > 我为什么选择Locust性能测试工具

我为什么选择Locust性能测试工具

TimTest 2020-08-30
最近一直在GCP平台上做一些性能测试任务。也一直在思考,到底应该使用什么样的压测工具才是适合的,毕竟“工欲善其事,必先利其器”。
本来在性能测试中使用的工具是JMeter,JMeter是一款免费的利用pure Java编写的压测工具,它本身功能和周边扩展还是比较强大的。在免费软件领域使用的范围很广,包括扩展插件等,整个生态还是比较好的。但是还是那句话,适合自己的才是最好的。由于是在GCP上测试,而测试环境(包括测试机器)也必须搭建在此云平台上,那么有个问题是,稳定性和费用问题。至少对于我来说是这样。比如我申请了一个16GB的VM,但是最终发现单台JMeter slave 节点能模拟的用户数还是不能另人满意。而且偶尔也有稳定性问题,如某个节点会有不规律的JMeter相关进程异常退出问题。还有一个问题,就是JMeter在真正进行高并发性能测试时,是很吃内存的。这就又涉及到了费用问题,很多时候这也是要考虑的因素之一。
结合实际的需要,最后评估发现工具Locust更适合项目的性能测试需要。主要基于以下几点:
  1. 资源(如内存)占用少。这个是Locust比较显著的优势。

  2. "Test as code", 针对这个特性,Locust是可以使用Python进行场景模拟的,所以在脚本实现上比较灵活。但是反过来说,使用Locust要有一定的Python编程基础。

  3. 云平台集成分布式测试。如果后期需要把本地(或项目环境)的分布式测试环境搭建在云平台的分布式测试上,那么就需要考虑一个通用性的问题了,如下图,利用GCP平台,结合K8S可以像搭建一个产品框架一样搭建一个性能测试平台。GCP官方对此是支持的。


后期也会分享在使用中遇到的问题和解决方式。
注解:需要说明的几点:
  • 如果项目安排比较紧急,可能对新工具的引入不利。

  • 如果不了解Python编程的基础等,可能会有更多的学习成本,需要考量。

  • 如果项目使用的协议非HTTP,那么可以暂时先不要考虑Locust的了。比如H5页面(web socket)协议等。




版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《我为什么选择Locust性能测试工具》的版权归原作者「TimTest」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注TimTest微信公众号

TimTest微信公众号:gh_39009e949117

TimTest

手机扫描上方二维码即可关注TimTest微信公众号

TimTest最新文章

精品公众号随机推荐