最近接觸了效能壓測的一款工具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,關鍵是 的虛擬使用者...