性能測試Locust--(3)分佈式運行

如果一臺計算機不足以模擬所需的用戶數量,那麼Locust將支持運行分佈在多臺計算機上的負載測試。

可以使用--master標誌在主模式下啓動Locust的一個實例。這個實例將運行Locust的web接口,您可以在這裏啓動測試並實時查看統計信息。主節點本身不模擬任何用戶。相反,您必須使用--slave標誌啓動一個或多個從Locust節點,與--master-host(指定主節點的IP /主機名)一起使用。

常見的設置是在一臺機器上運行一個主程序,然後在從計算機上每個處理器內核運行一個從屬實例

注意: 在運行Locust分佈式系統時,主計算機和每個從屬計算機都必須具有蝗蟲測試腳本的副本。

當分佈式運行的時候,建議啓動的模擬用戶數量要大於Locust類的數量X從機的數量
否則,由於當前的實現,可能會得到與Locust類的weight屬性不對應的Locust類分佈。
而且,如果孵化率低於從屬節點的數量,則孵化將在“突發”中發生,其中所有從屬節點將孵化單個用戶,然後休眠數秒鐘,孵化另一個用戶,休眠並重復。

例如:
要在master模式下啓動Locust:
locust -f my_locustfile.py --master

選項
--master
將Locust設置爲主模式, web接口將在此節點上運行。

-- slave
將Locust設置爲從屬模式。

--master-host=X.X.X.X
可選,與-- slave一起使用,設置主節點的主機名/IP(默認爲127.0.0.1)

--master-port=5557
可選,與-- slave一起使用,用於設置主節點的端口號(默認爲5557)。
注意,locust將使用指定的端口,以及端口號+1。因此,如果使用5557,則locust將同時使用端口5557和5558。

--master-bind-host=X.X.X.X
可選,與-- master一起使用。確定主節點將綁定到哪個網絡接口。默認爲*(所有可用的接口)。

--master-bind-port=5557
可選,與-- master一起使用。確定主節點將監聽的網絡端口。默認爲5557。
注意,locust將使用指定的端口,以及端口號+1。因此,如果使用5557,則locust將同時使用端口5557和5558。

--expect-slaves=X
使用--no-web啓動主節點時使用。然後,主節點將一直等到連接了X個從節點之後纔開始測試。

使用Docker進行分佈式運行

詳見 性能測試Locust–(5)Docker運行

非UI模式下分佈式運行Locust

詳見 性能測試Locust–(6)非UI模式下分佈式運行Locust

逐步負載模式下分佈式運行Locust

詳見 性能測試Locust–(4)逐步負載模式

提高蝗蟲的性能

如果你打算運行大規模負載測試,你可能會對使用Locust附帶的備用HTTP client 感興趣。
詳見 Increase Locust’s performance with a faster HTTP client

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章