[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 ;
