Locust—python壓力測試工具

1、Locust與其他性能測試工具對比

優(yōu)勢:1、Locust 完全基本 Python 編程語言,采用 Pure Python 描述測試腳本,并且 HTTP 請求完全基于 Requests庫。除了 HTTP/HTTPS 協(xié)議,Locust 也可以測試其它協(xié)議的系統(tǒng),只需要采用Python調(diào)用對應(yīng)的庫進(jìn)行請求描述即可。2、LoadRunner 和 Jmeter 這類采用進(jìn)程和線程的測試工具,都很難在單機上模擬出較高的并發(fā)壓力。Locust 的并發(fā)機制摒棄了進(jìn)程和線程,采用協(xié)程(gevent)的機制。協(xié)程避免了系統(tǒng)級資源調(diào)度,由此可以大幅提高單機的并發(fā)能力。

缺點:locust的局限性在于,目前其本身對測試過程的監(jiān)控和測試結(jié)果展示,不如jmeter全面和詳細(xì),需要進(jìn)行二次開發(fā)才能滿足需求越來越復(fù)雜的性能測試需要。

2、安裝:>?pip3 install locustio

3、查看命令:> locusts --help

-h, --help 查看幫助

-H HOST, --host=HOST 指定被測試的主機,采用以格式:http://10.21.32.33

--web-host=WEB_HOST 指定運行 Locust Web 頁面的主機,默認(rèn)為空 ''。

-P PORT, --port=PORT, --web-port=PORT 指定 --web-host 的端口,默認(rèn)是8089

-f LOCUSTFILE, --locustfile=LOCUSTFILE 指定運行 Locust 性能測試文件,默認(rèn)為: locustfile.py

--csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存儲當(dāng)前請求測試數(shù)據(jù)。

--master Locust 分布式模式使用,當(dāng)前節(jié)點為 master 節(jié)點。

--slave Locust 分布式模式使用,當(dāng)前節(jié)點為 slave 節(jié)點。

--master-host=MASTER_HOST 分布式模式運行,設(shè)置 master 節(jié)點的主機或 IP 地址,只在與 --slave 節(jié)點一起運行時使用,默認(rèn)為:127.0.0.1.

--master-port=MASTER_PORT 分布式模式運行, 設(shè)置 master 節(jié)點的端口號,只在與 --slave 節(jié)點一起運行時使用,默認(rèn)為:5557。注意,slave 節(jié)點也將連接到這個端口+1 上的 master 節(jié)點。

--master-bind-host=MASTER_BIND_HOST Interfaces (hostname, ip) that locust master should bind to. Only used when running with --master. Defaults to * (all available interfaces).

--master-bind-port=MASTER_BIND_PORT Port that locust master should bind to. Only used when running with --master. Defaults to 5557. Note that Locust will also use this port + 1, so by default the master node will bind to 5557 and 5558.

--expect-slaves=EXPECT_SLAVES How many slaves master should expect to connect before starting the test (only when --no-web used).

--no-web no-web 模式運行測試,需要 -c 和 -r 配合使用.

-c NUM_CLIENTS, --clients=NUM_CLIENTS 指定并發(fā)用戶數(shù),作用于 --no-web 模式。

-r HATCH_RATE, --hatch-rate=HATCH_RATE 指定每秒啟動的用戶數(shù),作用于 --no-web 模式。

-t RUN_TIME, --run-time=RUN_TIME 設(shè)置運行時間, 例如: (300s, 20m, 3h, 1h30m). 作用于 --no-web 模式。

-L LOGLEVEL, --loglevel=LOGLEVEL 選擇 log 級別(DEBUG/INFO/WARNING/ERROR/CRITICAL). 默認(rèn)是 INFO.

--logfile=LOGFILE 日志文件路徑。如果沒有設(shè)置,日志將去 stdout/stderr

--print-stats 在控制臺中打印數(shù)據(jù)

--only-summary 只打印摘要統(tǒng)計

--no-reset-stats Do not reset statistics once hatching has been completed。

-l, --list 顯示測試類, 配置 -f 參數(shù)使用

--show-task-ratio 打印 locust 測試類的任務(wù)執(zhí)行比例,配合 -f 參數(shù)使用.

--show-task-ratio-json 以 json 格式打印 locust 測試類的任務(wù)執(zhí)行比例,配合 -f 參數(shù)使用.

-V, --version 查看當(dāng)前 Locust 工具的版本.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容