Locust 創建性能測試

(三)Locust 創建性能測試

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:是每秒鐘請求的個數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章