[TOC]
## 测试工具哪个好?
很多测试人员,开始很懵逼,因为 Locust Jmeter LoadRunner 都差不多的,具体用哪个?哪个比较适合自己?
这样的问题最好是看下面的概括,然后看一些教程,了解一下优缺点,然后找到适合自己的工具,或者不同场景下用不同的工具;
## LoadRunner
**LoadRunner**是非常有名的商业性能测试工具,功能非常强大。使用也比较复杂,目前大多介绍性能测试的书籍都以该工具为基础,甚至有些书整本都在介绍 LoadRunner 的使用。
## Jmeter
* **Jmeter**同样是非常有名的开源性能测试工具,功能也很完善,在本书中介绍了它作为接口测试工具的使用。但实际上,它是一个标准的性能测试工具。关于 Jmeter 相关的资料也非常丰富,它的官方文档也很完善。
## Locust
**Locust**同样是性能测试工具,虽然官方这样来描述它 “An open source load testing tool.” 。但其它和前面两个工具有着较大的不同。相比前面两个工具,功能上要差上不少,但它也并非优点全无。
* Locust 完全基本 Python 编程语言,采用 Pure Python 描述测试脚本,并且 HTTP 请求完全基于 Requests 库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用 Python 调用对应的库进行请求描述即可。
* LoadRunner 和 Jmeter 这类采用进程和线程的测试工具,都很难在单机上模拟出较高的并发压力。Locust 的并发机制摒弃了进程和线程,采用协程(gevent)的机制。协程避免了系统级资源调度,由此可以大幅提高单机的并发能力。
正是基于这样的特点,使我选择使用 Locust 工具来做性能测试,
另外一个原因是它可以让我们换一种方式认识性能测试,可能更容易看清性能测试的本质。
如果您想把测试的事情做的更加深入和专业一些,我非常推荐你来学习一下 locust ;
![](https://img.kancloud.cn/17/0f/170fe6bc378f971b12c0bd3c2f6b5c70_863x630.png)