步驟:
1)安裝locustio
pip install locustio
2) 使用locust寫腳本
文件名:test_download.py

1 from locust import HttpLocust,TaskSet,task 2 3 """ 4 創建后台管理站點壓測類,需要繼承TaskSet 5 可以添加多個測試任務 6 """ 7 class AdminLoadTest(TaskSet): 8 9 # 用戶執行task前調用 10 def on_start(self): 11 pass 12 13 # 用戶執行task后調用 14 def on_stop(self): 15 pass 16 17 @task 18 def download(self): 19 # 頭部 20 header = {"key":"value"} 21 # 參數 22 data = {"key":"value"} 23 self.client.get('/xxx/xxx',data=data,headers=header) 24 25 class RunLoadTests(HttpLocust): 26 """ 27 創建運行壓測類 28 """ 29 task_set = AdminLoadTest 30 min_wait = 1000 31 max_wait = 50000 32 33 34 if __name__ == "__main__": 35 import os 36 os.system("locust -f test_download.py --host=http://xx.xx.xx.xx:xxxx")
3) 本地訪問:http://localhost:8089/
4) 結果:
- Type——請求類型
- Name——接口地址
- Requests——請求數
- Fails——失敗的請求數
- Medisn(ms)——中間值,一般的請求響應時間高於此值,一半的請求響應時間低於此值;
- Average(ms)——平均值,所有請求的平均響應時間
- Min(ms)——請求的最小響應時間
- Max(ms)——請求的最大響應時間
- Average Size(bytes)——請求的平均大小
- Current RPS:每秒請求個數
下載相關數據:
no web模式
命令行運行:
locust -f 文件名.py --host=http://xx.xx.xx --no-web -c 10 -r 2 -t 1m
* -c 虛擬用戶數
* -r 每秒啟動的虛擬用戶數
* -t 運行時間