locust庫python
pip install locustio
pip install -i https://pypi.douban.com/simple locustio
安裝成功以後,在cmd控制檯將會新增一條命令,可輸入以下命令查看:linux
locust --help
在項目根目錄下建立locustfile.py文件web
from locust import Locust, TaskSet, task class MyTasks(TaskSet): """ 建立測試任務類,須要繼承TaskSet 能夠添加多個測試任務 """ # 每一個測試任務,每每會以實例方法的形式來呈現 # 同時須要使用task裝飾器來裝飾測試任務 @task def one_task(self): print("執行一個偉大的測試任務!") class RunTasks(Locust): """ 建立運行測試類,須要繼承Locust父類 """ task_set = MyTasks # 指定測試任務類,使用task_set覆蓋父類的類屬性 min_wait = 2000 # 指定啓動任務間隔的時間範圍(單位毫秒):2~5秒之間 max_wait = 5000 # 使用min_wait、max_wait覆蓋父類的類屬性
執行性能測試瀏覽器
# 打開Pycharm Terminal控制檯 # 運行以下命令: locust
運行以後,控制檯會在本地監聽一個端口服務器
a. 程序文件要命名爲 locustfile.py才行併發
b. 假如命名爲one_example.py,則須要這樣運行分佈式
locust -f one_example.pypost
在瀏覽器打開UI設置界面性能
from locust import HttpLocust, TaskSet, task class AdminLoadTest(TaskSet): """ 建立後臺管理站點壓測類,須要繼承TaskSet 能夠添加多個測試任務 """ def login(self): """ 登陸實例方法 :return: """ self.client.post("http://localhost:8088/users/login/", {"user_account": "admin", "password": "123456"}) def logout(self): """ 登出實例方法 :return: """ self.client.get("http://localhost:8088/users/logout/") def on_start(self): """ 當任何一個task調度執行以前, on_start實例方法會被調用 先登陸 :return: """ self.login() def on_stop(self): """ 當任何一個task調度執行以後, on_stop實例方法會被調用 後登出 :return: """ self.logout() @task def admin_index(self): """ 對後臺主頁進行壓測 :return: """ self.client.get("http://localhost:8088/admin/") class RunLoadTests(HttpLocust): """ 建立運行壓測類 """ task_set = AdminLoadTest
注意:--host參數指定http主機地址,-f參數指定壓測程序文件名測試
設置併發用戶數爲10,每5秒建立一個用戶
壓測過程截圖
美輪美奐的壓測報告
壓測失敗詳情
下載壓測統計數據
下載的壓測統計數據csv文件