1. 程式人生 > >(六)Locust 分布式運行

(六)Locust 分布式運行

交互 run .py rfi div -- 占用 獨立 分布式測試

參考:官方文檔

分布式運行Locust


一旦單臺機器不夠模擬足夠多的用戶時,Locust支持運行在多臺機器中進行壓力測試。

為了實現這個,你應該在 master 模式中使用--master標記來啟用一個 Locust 實例。這個實例將會運行你啟動測試的 Locust 交互網站並查看實時統計數據。master 節點的機器自身不會模擬任何用戶。相反,你必須使用 --slave 標記啟動一臺到多臺 Locustslave 機器節點,與標記 --master-host 一起使用(指出master機器的IP/hostname)。

常用的做法是在一臺獨立的機器中運行master,在slave機器中每個處理器內核運行一個slave實例。

註意:master 和每一臺 slave 機器,在運行分布式測試時都必須要有 locust 的測試文件。

示例


在 master 模式下啟動 Locust:

locust -f my_loucstfile.py --master

在每個 slave 中執行(192.168.0.14 替換為你 msater 的IP):

locust -f my_locustfile.py --slave --master-host=192.168.0.14

參數說明


參數

–master

設置 Locust 為 master 模式。網頁交互會在這臺節點機器中運行。

–slave

設置 Locust 為 slave 模式。

–master-host=X.X.X.X

可選項,與 --slave 一起結合使用,用於設置 master 模式下的 master 機器的IP/hostname(默認設置為127.0.0.1)

–master-port=5557

可選項,與 --slave 一起結合使用,用於設置 master 模式下的 master 機器中 Locust 的端口(默認為5557)。註意,locust 將會使用這個指定的端口號,同時指定端口+1的號也會被占用。因此,5557 會被使用,Locust將會使用 5557 和 5558。

–master-bind-host=X.X.X.X`

可選項,與 --master 一起結合使用。決定在 master 模式下將會綁定什麽網絡接口。默認設置為*(所有可用的接口)。

–master-bind-port=5557

可選項,與 --master 一起結合使用。決定哪個網絡端口 master 模式將會監聽。默認設置為 5557。註意 Locust 會使用指定的端口號,同時指定端口+1的號也會被占用。因此,5557 會被使用,Locust 將會使用 5557 和 5558。

–expect-slaves=X

在 no-web 模式下啟動 master 時使用。master 將等待X連接節點在測試開始之前連接。

效果


如下圖,我啟動了一個 master 和兩個 slave,由兩個 slave 來向被測試系統發送請求。

技術分享圖片

(六)Locust 分布式運行