locust效能測試實戰
一、locust是非常優秀的效能測試工具,它是依賴於Python的環境,所以了使用它的前提是首先需要安裝它
二、locust是基於協程的設計,什麼是協程,可以把它理解為微小的執行緒,基於使用者的行為可以控制它。python一直很優秀,但是python在效能方面的表現很差勁,所以了python設計了協程來改進這部分的設計缺陷。locust對服務端的負載能力很強,所以使用它可以來做服務端的穩定性測試
三、在Python的技術棧的體系中,效能測試的⼯具是Locust的測試框架,Locust是⼀種易於編寫,可以編寫測試指令碼 和可以擴充套件的效能測試⼯具,它是基於協程來進⾏設計的,當然也可以說是基於event的事件來進⾏設計的。協程 我們可以簡單的理解為是基於⽤戶態的執行緒,更加專業的話說是微執行緒,基於⽤戶可以控制的⼀種微⼩的執行緒,也 可以叫協程
四、下載官網https://locust.io/
五、輸入命令pip3 install locust開始下載安裝
六、locust WEB穩定性測試
1、啟動Java的架包開啟cmd找的下載的目錄路徑,輸入Java -jar app-0.0.1-SNAPSHOT.jar 啟動
2、下載程式碼
3、輸入 locust -f locustfile.py 命令執行
4、開啟另外一個控制檯,輸入命令jvisualvm,開啟JVM監控
5、重新開啟一個控制檯,輸入命令:locust -f locustfile.py 就會啟動locust的程式
6、開啟網頁
選單欄具體為:
New test:點選該按鈕可對模擬的總虛擬⽤戶數和每秒啟動的虛擬⽤戶數進⾏編輯;
Statistics:聚合報告
Charts:測試結果變化趨勢的曲線展示圖,分別為每秒完成的請求數(RPS)、響應時間、不同時間的虛擬⽤戶數;
Failures:失敗請求的展示界⾯;
Exceptions:異常請求的展示界⾯;
Download Data:測試資料下載模組, 提供三種類型的CSV格式的下載,分別是:Statistics、responsetime、 exceptions;
七、負載測試
1、啟動Java架包開啟cmd找的下載的目錄路徑,輸入Java -jar app-0.0.1-SNAPSHOT.jar 啟動
2、下載程式碼
3、輸入 locust -f locustfile2.py 命令執行
4、開啟網頁http://localhost:8089 進行負載測試
八、面試題
jmeter與locust的區別:
1、JMeter是100%Java語言開發的,它是基於執行緒的模式向服務端傳送請求
2、Locust是Python語言開發的,它是基於協程的模式
你之前有做過服務端穩定性測試嗎?你是怎麼理解它的?
服務端穩定性測試指的是持續高併發的向服務端傳送請求,服務端都能夠處理客戶端傳送的處理,通過這樣的一個模式來驗證服務端它在持續高負載下它的業務處理能力,和系統的整體設計能力。如一碼通,持續72小時連續不停的掃描二維碼,都應該能夠很快速的出健康碼。 2、有做過,如果是使用JMeter,就是無限迴圈,如果是locust,就一直持續的請求,具體多久,我們之前是24小時連續不停的請求