Locust(Python負載測試工具)簡介和安裝方法

ailisa發表於2020-11-30

Locust是一款分散式的負載測試軟體,基於時間,透過一個locust節點可以在一個程式中測試數千併發使用者,透過gevent使用輕量級過程,可實時顯示相關的測試結果,軟體是基於協程而不是回撥,指令碼編寫簡單易懂,安裝使用更簡單。

Locust(Python負載測試工具)簡介和安裝方法

軟體功能

1、在程式碼中定義使用者行為

不需要笨重的使用者介面或臃腫的XML。只是簡單的程式碼。

2、分散式和可擴充套件性

Locust支援執行分佈在多臺機器上的負載測試,因此可以用來模擬數百萬個同步使用者。

3、經過驗證和實戰檢驗

Locust已經被用來模擬數百萬的同時使用者。戰地遊戲的網頁應用Battlelog就是使用Locust進行負載測試的,所以真的可以說Locust是經過戰地測試的;)。)

軟體特點

①、不需要編寫笨重的UI或者臃腫的XML程式碼,基於協程而不是回撥,指令碼編寫簡單易讀;

②、有一個基於we簡潔的HTML+JS的UI使用者介面,可以實時顯示相關的測試結果;

③、支援分散式測試,使用者介面基於網路,因此具有跨平臺且易於擴充套件的特點;

④、所有繁瑣的I / O和協同程式都被委託給gevent,替代其他工具的侷限性;

Locust安裝方法

一、安裝Locust

1、支援的python版本:2.7、3.4、3.5、3.6;

2、Windows系統安裝locust

①、直接透過 pip install locustio 命令安裝;

②、透過為pyzmq、gevent和greenlet安裝預先構建的二進位制包,然後在這裡找到非官方的預製包,下載.whl檔案後,使用 pip install name-of-file.whl 命令安裝;

安裝成功後可以輸入 pip show locust 命令檢視是否安裝成功,以及透過 locust -help 命令檢視幫助資訊。

PS:執行大規模測試時,建議在Linux機器上執行此操作,因為gevent在Windows下的效能很差。

二、啟動Locust

1、如果啟動的locust檔名為locustfile.py並位於當前工作目錄中,可以在編譯器中直接執行該檔案,或者透過cmd,執行如下命令:

locust --host=

2、如果Locust檔案位於子目錄下且名稱不是locustfile.py,可以使用-f命令啟動上面的示例locust檔案:

locust -f testscript/locusttest.py --host=

3、如果要執行分佈在多個程式中的Locust,透過指定-master以下內容來啟動主程式 :

locust -f testscript/locusttest.py --master --host=

4、如果要啟動任意數量的從屬程式,可以透過-salve命令來啟動locust檔案:

locust -f testscript/locusttest.py --salve --host=

5、如果要執行分散式Locust,必須在啟動從機時指定主機(執行分佈在單臺機器上的Locust時不需要這樣做,因為主機預設為127.0.0.1):

locust -f testscript/locusttest.py --slave --master-host=192.168.0.100 --host=

6、啟動locust檔案成功後,編譯器控制檯會顯示如下資訊:

[2018-10-09 01:01:44,727] IMYalost/INFO/locust.main: Starting web monitor at *:8089

[2018-10-09 01:01:44,729] IMYalost/INFO/locust.main: Starting Locust 0.8

PS:8089是該服務啟動的埠號,如果是本地啟動,可以直接在瀏覽器輸入開啟UI介面,如果是其他機器搭建locust服務,則輸入該機器的IP+埠即可;

Locust使用方法

1、啟動介面

Locust(Python負載測試工具)簡介和安裝方法

Number of users to simulate:設定模擬的使用者總數

Hatch rate (users spawned/second):每秒啟動的虛擬使用者數

Start swarming:執行locust指令碼

2、測試結果介面

PS:點選STOP可以停止locust指令碼執行:

Locust(Python負載測試工具)簡介和安裝方法

Type:請求型別,即介面的請求方法;

Name:請求路徑;

requests:當前已完成的請求數量;

fails:當前失敗的數量;

Median:響應時間的中間值,即50%的響應時間在這個數值範圍內,單位為毫秒;

Average:平均響應時間,單位為毫秒;

Min:最小響應時間,單位為毫秒;

Max:最大響應時間,單位為毫秒;

Content Size:所有請求的資料量,單位為位元組;

reqs/sec:每秒鐘處理請求的數量,即QPS;

3、各模組說明

Locust(Python負載測試工具)簡介和安裝方法

New test:點選該按鈕可對模擬的總虛擬使用者數和每秒啟動的虛擬使用者數進行編輯;

Statistics:類似於jmeter中Listen的聚合報告;

Charts:測試結果變化趨勢的曲線展示圖,分別為每秒完成的請求數(RPS)、響應時間、不同時間的虛擬使用者數;

Failures:失敗請求的展示介面;

Exceptions:異常請求的展示介面;

Download Data:測試資料下載模組, 提供三種型別的CSV格式的下載,分別是:Statistics、responsetime、exceptions;

命令說明

啟動Locust

1、如果啟動的locust檔名為locustfile.py並位於當前工作目錄中,可以在編譯器中直接執行該檔案,或者透過cmd,執行如下命令:

locust --host=https://www.cnblogs.com

2、如果Locust檔案位於子目錄下且名稱不是locustfile.py,可以使用-f命令啟動上面的示例locust檔案:

locust -f testscript/locusttest.py --host=https://www.cnblogs.com

3、如果要執行分佈在多個程式中的Locust,透過指定-master以下內容來啟動主程式 :

locust -f testscript/locusttest.py --master --host=https://www.cnblogs.com

4、如果要啟動任意數量的從屬程式,可以透過-salve命令來啟動locust檔案:

locust -f testscript/locusttest.py --salve --host=https://www.cnblogs.com

5、如果要執行分散式Locust,必須在啟動從機時指定主機(執行分佈在單臺機器上的Locust時不需要這樣做,因為主機預設為127.0.0.1):

locust -f testscript/locusttest.py --slave --master-host=192.168.0.100 --host=https://cnblogs.com

6、啟動locust檔案成功後,編譯器控制檯會顯示如下資訊:

[2018-10-09 01:01:44,727] IMYalost/INFO/locust.main: Starting web monitor at *:8089

[2018-10-09 01:01:44,729] IMYalost/INFO/locust.main: Starting Locust 0.8

PS:8089是該服務啟動的埠號,如果是本地啟動,可以直接在瀏覽器輸入開啟UI介面,如果是其他機器搭建locust服務,則輸入該機器的IP+埠即可;

部分內容節選自網路,侵權請聯絡刪除

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69986676/viewspace-2738085/,如需轉載,請註明出處,否則將追究法律責任。

相關文章