效能測試:分散式測試

Yuanjie發表於2017-06-03

分散式執行Locust

一旦單臺機器不夠模擬足夠多的使用者時,Locust支援執行在多臺機器中進行壓力測試。

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

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

!Note

master和每一臺slave機器,在執行分散式測試時都必須要有locust的測試檔案。

示例

使用master模式啟動:

locust -f my_loucstfile.py --master複製程式碼

在每個slave中執行(使用master機器的IP替換192.168.0.14):

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。

相關文章