性能测试神器Locust中文手册1简介

本文不再继续更新,最新版本 参见: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

推荐阅读更多精彩内容