1.Locust是什么?
Locust翻譯為中文是“蝗蟲”的意思,開源的性能測試工具,完全基於Python開發。
特點:
完全基於Python開發。
分布式執行。可以配置master和slave,在多台機器上對系統持續發起請求
基於事件驅動。借用gevent庫對協程的支持,可以達到更高數量級的並發。
不支持監控被測試機,需要配合其他工具輔助。
2.安裝
pip install locust
如果pip安裝不成功提示timeout,可以使用阿里雲鏡像
pip install locustio==0.13.5 -i https://mirrors.aliyun.com/pypi/simple/
如果安裝過程中報了ERROR: Could not build wheels for gevent which use PEP 517 and cannot be installed directly
則是因為缺少VC類庫,下載地址 http://go.microsoft.com/fwlink/?LinkId=691126
下載visualcppbuildtools_full.exe安裝后,重新安裝locust即可
安裝完成后,輸入
locust --help
檢查安裝是否成功.
PS,看別人pip直接成功了,我真是遇到各種問題,折騰了半天
3.創建test.py文件
from locust import HttpLocust, TaskSet, task, between import random class TestIndex(TaskSet): @task def getIndex(self): # 訪問根目錄,client的調用和Request一樣 self.client.get('/') print("yes") class WebSite(HttpLocust): task_set = TestIndex #指向定義了用戶行為的類 # V0.13.0版本以上就不能用min_wait和max_wait了。不然會報錯 # min_wait = 1000 # max_wait = 3000 wait_time = between(3, 7)
4.啟動test.py文件
locust -f test.py --host=http:xxx.xx.com
5.打開locust的web UI界面
瀏覽器中輸入
http://localhost:8089/
8089是該服務器的啟動端口號
6.locust界面
Number of users to simulate:設置模擬的用戶總數
Hatch rate (users spawned/second):每秒啟動的虛擬用戶數
Start swarming:執行locust腳本
7.測試結果頁面
Type:請求類型,即接口的請求方法;
Name:請求路徑;
requests:當前已完成的請求數量;
fails:當前失敗的數量;
Median:響應時間的中間值,即50%的響應時間在這個數值范圍內,單位為毫秒;
Average:平均響應時間,單位為毫秒;
Min:最小響應時間,單位為毫秒;
Max:最大響應時間,單位為毫秒;
Content Size:所有請求的數據量,單位為字節;
reqs/sec:每秒鍾處理請求的數量,即QPS;
Chrats標簽中,有三個圖標
Total Requests per Second:每秒鍾的請求數
Response Time:響應時間表
Number of Users:用戶增長情況
總結一下流程:
1.安裝locust
2.編寫腳本
3.進入源碼文件的目錄
4.執行:locut -f 文件名.py --host=http://xxx.xx.com
5.打開瀏覽器,訪問:http://localhost:8089,配置,運行。