性能測試學習筆記 - Locust(1)

1.Locust是什麼?

Locust翻譯爲中文是“蝗蟲”的意思,開源的性能測試工具,完全基於Python開發。

特點:

  完全基於Python開發。

  分佈式執行。可以配置master和slave,在多臺機器上對系統持續發起請求

  基於事件驅動。借用gevent庫對協程的支持,可以達到更高數量級的併發。

  不支持監控被測試機,需要配合其他工具輔助。

2.安裝

pip install locust

如果pip安裝不成功提示timeout,可以使用阿里雲鏡像

pip install locustio==0.13.5 -i https://mirrors.aliyun.com/pypi/simple/

如果安裝過程中報了ERROR: Could not build wheels for gevent which use PEP 517 and cannot be installed directly

則是因爲缺少VC類庫,下載地址  http://go.microsoft.com/fwlink/?LinkId=691126

下載visualcppbuildtools_full.exe安裝後,重新安裝locust即可

安裝完成後,輸入

locust --help

檢查安裝是否成功.

PS,看別人pip直接成功了,我真是遇到各種問題,折騰了半天

3.創建test.py文件

from locust import HttpLocust, TaskSet, task, between
import random


class TestIndex(TaskSet):
    @task
    def getIndex(self):
        # 訪問根目錄,client的調用和Request一樣
        self.client.get('/')
        print("yes")


class WebSite(HttpLocust):
    task_set = TestIndex #指向定義了用戶行爲的類
    # V0.13.0版本以上就不能用min_wait和max_wait了。不然會報錯
    # min_wait = 1000
    # max_wait = 3000
    wait_time = between(3, 7)

4.啓動test.py文件

locust -f test.py --host=http:xxx.xx.com

5.打開locust的web UI界面

瀏覽器中輸入

http://localhost:8089/

8089是該服務器的啓動端口號

6.locust界面

Number of users to simulate:設置模擬的用戶總數

Hatch rate (users spawned/second):每秒啓動的虛擬用戶數

Start swarming:執行locust腳本

7.測試結果頁面

 Type:請求類型,即接口的請求方法;

Name:請求路徑;

requests:當前已完成的請求數量;

fails:當前失敗的數量;

Median:響應時間的中間值,即50%的響應時間在這個數值範圍內,單位爲毫秒;

Average:平均響應時間,單位爲毫秒;

Min:最小響應時間,單位爲毫秒;

Max:最大響應時間,單位爲毫秒;

Content Size:所有請求的數據量,單位爲字節;

reqs/sec:每秒鐘處理請求的數量,即QPS;

 

Chrats標籤中,有三個圖標

Total Requests per Second:每秒鐘的請求數

Response Time:響應時間表

Number of Users:用戶增長情況

 

 總結一下流程:

1.安裝locust

2.編寫腳本

3.進入源碼文件的目錄

4.執行:locut -f 文件名.py --host=http://xxx.xx.com

5.打開瀏覽器,訪問:http://localhost:8089,配置,運行。

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