1. 程式人生 > >(三)Locust 創建性能測試

(三)Locust 創建性能測試

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 創建性能測試