本文不再继续更新,最新版本 参见:https://www.kdocs.cn/l/cguu4PQPrcez
什么是Locust?
Locust是一个易于使用,可脚本化和可扩展的性能测试工具。也是github上面星级最高的性能测试工具。您可以在常规的Python代码中定义用户的行为,而不是使用笨重的UI或小众语言。
这使得Locust具有无限的可扩展性,对开发者非常友好。
特点
- Python书写场景
循环、条件行为或进行一些计算等只需要使用Python提供的常规控制结构。Locust 在 greenlet (轻量级的过程/coroutine) 中运行每个用户。你可以像正常的(阻塞)Python代码一样写你的测试,而不是必使用回调或其他机制。
- 分布式,可扩展和,支持成千上万的用户
Locust的一个进程可以处理成千上万的并发用户,每个Locust用户的低开销使得它非常适合测试高并发的工作负载。
- 基于Web的用户界面
Locust的web界面可以实时显示测试的进度。你甚至可以在测试运行时改变负载。当然还可以在没有UI的情况下运行,使其易于用于CI/CD测试。
- 可以测试任何系统
可以用来测试任何系统或协议。只要为你想测试的东西写一个客户端,或者采用一些由社区创建的客户端。
- 可定制
背景
我们研究了现有的解决方案,都不符合要求。比如Apache JMeter和Tsung。JMeter基于UI操作,容易上手,但基本上不具备编程能力。其次JMeter基于线程,要模拟数千用户几乎不可能。 Tsung基于Erlang,能模拟上千用户并易于扩展,但它基于XML的DSL,描述场景能力弱,且需要大量的数据处理才知道测试结果。
无论如何,我们试图解决创建Locust,当这些问题。希望以上都不是painpoints应该存在。
我想你可以说我们真的只是想在这里从头开始自己的痒。我们希望其他人会发现,因为我们做的是有益的。
-
作者
-
Jonatan Heyman (@jonatanheyman on Twitter)
-
Carl Byström (@cgbystrom on Twitter)
-
Joakim Hamrén (@Jahaaja on Twitter)
-
Hugo Heyman (@hugoheyman on Twitter)
-
License: MIT
安装
-
安装python3.6或更高版本
-
安装:"pip install locustio"
# pip install locustio
- 检验:
执行"locust --help"能看到如下信息表示安装成功:
$ locust -V
locust 1.4.3
网友评论