Locust簡介
網(wǎng)上關(guān)于Locust的介紹很多审葬,這邊不在贅述茶宵,只簡單談一下自己理解的一些,更詳細(xì)的可以參考官方文檔 http://locust.io/
1.Locust是一個開源負(fù)載測試工具(無需破解等操作溢吻,直接上手使用)维费,使用python定義用戶行為,擴(kuò)展性較好
2.支持分布式執(zhí)行促王,測試http接口較簡單方便
3.用戶界面簡潔明了,實時展示測試情況
Locust安裝
Locust可以直接通過pip或者easy_install安裝:
pip install locustio ?或者 ?easy_install locustio
安裝結(jié)束后蝇狼,輸入 locust --help ,如果正常展示幫助頁面則安裝成功
如果打算以分布式模式運行Locust迅耘,同時安裝pyzmq:
pip install pyzmq ?----------- ?由于水平有限贱枣,暫時沒有用到分布式,所以裝不裝其實也無所謂
Locust腳本編寫
簡單的示例颤专,結(jié)合我司的系統(tǒng)一個簡單的登錄纽哥、查詢腳本
其中:
1.@task裝飾器來定義任務(wù)信息春塌,pd_query任務(wù)的執(zhí)行頻率是pd_tree任務(wù)執(zhí)行頻率的兩倍;
2.on_start函數(shù)類似setup只壳,用于正式執(zhí)行測試之前暑塑,主要用于完成一些初始化工作,腳本中寫了登錄事格,值得一提的是在登錄系統(tǒng)后可以繼續(xù)維持登錄狀態(tài)的session
Locust運行及結(jié)果查看
進(jìn)入cmd,cd到腳本所在路徑,執(zhí)行命令 :
locust -f ?.\locust_test1.py ?--host=http://172.31.3.231:6020
其中 -f 指定執(zhí)行的腳本分蓖,文件locust_test1.py 為腳本名,--host指定被測系統(tǒng)么鹤,后面接所測試的地址
登陸172.0.0.1:8089
可以看到:
1.portal/logon.action 僅執(zhí)行了一次
2.pd_query任務(wù)的執(zhí)行頻率是pd_tree任務(wù)執(zhí)行頻率的兩倍蒸甜;
結(jié)果展示的指標(biāo)較為簡單余佛,主要是并發(fā)數(shù)窍荧、RPS、響應(yīng)時間蕊退、異常率,除此之外還可以通過Download Data,下載查看整個運行過程數(shù)據(jù)的百分比統(tǒng)計值
綜述
個人認(rèn)為工具的學(xué)習(xí)是相對簡單的净蚤,重難點是對工具測試出來的結(jié)果進(jìn)行分析输硝、有針對性的優(yōu)化改進(jìn)的過程今瀑,這也是我在努力學(xué)習(xí)加強的地方,有想法小伙伴歡迎交流点把、指導(dǎo)