效能測試之Locust(一)

2022-09-01 04:36:09 字數 1873 閱讀 7977

最近接觸了效能壓測的一款工具locust,分享下:

一、首先說下壓測工具對比:

jmeter:

loadrunner:

locust:

locust 同樣是開元效能測試工具,雖然官方這樣來描述它 「an open source load testing tool.」 。但其它和前面兩個工具有著較大的不同。相比前面兩個工具,功能上要差上不少,但它也並非優點全無。

二、locust安裝:

1、安裝python:

官方:安裝python2 或python3

2、安裝locuse

2.1, 通過pip命令安裝 ,終端輸入:pip install locustio

3、安裝 pyzmq

如果你打算執行locust 分布在多個程序/機器,我們建議你也安裝pyzmq.

通過pip命令安裝。 終端輸入:pip install pyzmq

4、安裝成功,終端輸入locust --help,驗證locust安裝是否完成。

三、locust使用:

專案例項(見者勿噴,**多少有點bug,未做優化)

#從文字中讀取fromaddress位址,並加入佇列

fromaddresses = getfromaddress ()

fromaddress_queue = queue.queue()

for fromaddress in fromaddresses:

fromaddress_queue.put_nowait(fromaddress)

toaddresses = gettoaddress ()

toaddress_queue = queue.queue ()

for toaddress in toaddresses:

toaddress_queue.put_nowait(toaddress)

min_wait = 10 # 單位毫秒

max_wait = 2000 # 單位毫秒

說明:紅色標記部分為locust自帶的引數,具體引數說明可網上查詢。另在import中,紅色標記注釋的那一段tasksequence,seq_task可用來處理流程類的任務,即按照標記的先後順序執行。

用法:類名(taskset)    

每生成乙個例項都代表乙個虛擬的使用者,用來傳送請求到進行負載測試的系統。

該使用者的行為由task_set屬性定義,該屬性應指向乙個 taskset類。

這個類通常應該由某些類繼承並且重新定義。例如,當測試http系統時,使用的httplocust類。

max_wait = 1000

執行locust任務之間的最長等待時間,單位是毫秒

min_wait = 1000

執行locust任務之間的最短等待時間,單位是毫秒

task_set =taskset

指向taskset類,定義了locust的執行行為

weight = 10

乙個測試用例中新增多個locust例項,每個locust例項執行佔的比重,數字越大,呼叫的頻率越高。(一般用法為@task())

用法:類名(httplocust)

繼承了locust類,表示將要生成的每乙個虛擬的http使用者,用來傳送請求到進行負載測試的系統。

該使用者的行為由task_set屬性定義,該屬性應指向乙個 taskset類。

此類在例項化時比locust會多了乙個client屬性,該屬性是支援在請求之間保留使用者session。

client =無

在locust例項化時建立的httpsession例項。client支援cookie,可以保持http請求之間的session。

效能測試之locust

2 在本地儲存檔中新建立乙個python3資料夾 4 點選勾選add python 3.9 5 然後點選customize installa進入optional features,然後點選next 6 點選next進入advanced options,然後點選browse選擇python的安裝位置,...

locust 效能測試

作業系統最小執行單位是程序,而程序最小執行單位是執行緒 協程是微小的執行緒,完全由程式所控制 在使用者態執行 好處是效能大幅度的提公升 locust 是一款分布式負載測試工具,完全基於事件,即乙個locust節點也可以在乙個程序中支援數千併發使用者,不使用 通過 gevent 使用輕量級過程 即在自...

Locust建立效能測試流程

locust建立效能測試流程 locust 可沒有傻瓜式的指令碼錄製功能,要想用它來做效能測試,必須擼起袖子來寫 不過 locust是開源的,使用python開發,基於事件,支援分布式並提供web ui測試執行,其結果顯示了測試工具的效能。它能夠在資源利用率明顯優於jmeter,關鍵是 的虛擬使用者...