官网: http://locust.io/
GitHub: https://github.com/locustio/locustgit
BLOG:http://www.cnblogs.com/mu-shi-shigithub
Locust 是一个开源负载测试工具。使用 Python 代码定义用户行为,也能够仿真百万个用户。
Locust 是很是简单易用,分布式,用户负载测试工具。Locust 主要为网站或者其余系统进行负载测试,能测试出一个系统能够并发处理多少用户。
Locust 是彻底基于时间的,所以单个机器支持几千个并发用户。相比其余许多事件驱动的应用,Locust 不使用回调,而是使用轻量级的处理方式 gevent。编程
##安装:并发
pip install locustio
##示例代码:分布式
from locust import HttpLocust, TaskSet, task class WebsiteTasks(TaskSet): def on_start(self): self.client.post("/login", { "username": "test_user", "password": "" }) @task def index(self): self.client.get("/") @task def about(self): self.client.get("/about/") class WebsiteUser(HttpLocust): task_set = WebsiteTasks min_wait = 5000 max_wait = 15000
背景工具
咱们研究了现有的解决方案,都不符合要求。好比Apache JMeter和Tsung。JMeter基于UI操做,容易上手,可是经过UI点击进行测试场景的配置让它脱离了编程的乐趣。其次JMeter基于线程,要模拟数千用户几乎不可能。 Tsung基于Erlang,能模拟上千用户并易于扩展,但它它基于XML的DSL,描述场景能力弱,且须要大量的数据处理才知道测试结果。post
不管如何,咱们试图经过Locust来解决这些问题,但愿以上问题都不会成为Locust的痛点。测试
也许你会说咱们试图挠到痒处。但愿其余人和咱们同样认为这是件有意义的事情。网站