(三)Locust 創建性能測試
阿新 • • 發佈:2018-05-14
cli desktop 用戶數 端口 use dex https des 默認
Locust 可沒有傻瓜式的腳本錄制功能,要想用它來做性能測試,必須擼起袖子來寫代碼。不過。它並不難!
編寫簡單的性能測試腳本
創建 load_test.py 文件,通過 Python 編寫性能測試腳本。
from locust import HttpLocust, TaskSet, task
# 定義用戶行為
class UserBehavior(TaskSet):
@task
def baidu_index(self):
self.client.get("/")
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 3000
max_wait = 6000
UserBehavior類繼承TaskSet類,用於描述用戶行為。
baidu_index() 方法表示一個用戶為行,訪問百度首頁。使用@task裝飾該方法為一個事務。client.get()用於指請求的路徑“/”,因為是百度首頁,所以指定為根路徑。
WebsiteUser類用於設置性能測試。
-
task_set :指向一個定義的用戶行為類。
-
min_wait :執行事務之間用戶等待時間的下界(單位:毫秒)。
-
max_wait :執行事務之間用戶等待時間的上界(單位:毫秒)。
執行性能測試
啟動性能測試
> locust -f .\load_test.py --host=https://www.baidu.com
[2017-10-16 16:44:40,839] DESKTOP-SMGQBBM/INFO/locust.main: Starting web monitor at *:8089
[2017-10-16 16:44:40,842] DESKTOP-SMGQBBM/INFO/locust.main: Starting Locust 0.8
- -f 指定性能測試腳本文件。
- –host 指定被測試應用的URL的地址,註意訪問百度使用的HTTPS協議。
通過瀏覽器訪問:http://localhost:8089(Locust啟動網絡監控器,默認為端口號為: 8089)
設置測試
Number of users to simulate 設置模擬用戶數。
Hatch rate(users spawned/second) 每秒產生(啟動)的虛擬用戶數。
點擊 “Start swarming” 按鈕,開始運行性能測試。
運行測試
性能測試參數
-
Type: 請求的類型,例如GET/POST。
-
Name:請求的路徑。這裏為百度首頁,即:https://www.baidu.com/
-
request:當前請求的數量。
-
fails:當前請求失敗的數量。
-
Median:中間值,單位毫秒,一半的服務器響應時間低於該值,而另一半高於該值。
-
Average:平均值,單位毫秒,所有請求的平均響應時間。
-
Min:請求的最小服務器響應時間,單位毫秒。
-
Max:請求的最大服務器響應時間,單位毫秒。
-
Content Size:單個請求的大小,單位字節。
-
reqs/sec:是每秒鐘請求的個數。
(三)Locust 創建性能測試