Locust簡單入門

一、Locust簡介

1.Locust是一個易於使用的分佈式用戶負載測試工具。它是用於負載測試網站(或其他系統)計算出一個系統能處理多少併發用戶。
2.特定
①用普通的Python編寫用戶測試場景
②分佈式和可擴展-支持數十萬用戶
③基於Web的UI
④可以測試任何系統
⑤可破解

二、安裝Locust

1.若是您使用的是python2.7,請直接運行以下命令:
python -m pip install locustio
2.對於python3,請運行:
python3 -m pip install locustio
3.如果您想要一個新版本,可以使用pip直接從Git存儲庫安裝。例如,使用Python 3到主分支安裝:

python3 -m pip install -e git://github.com/locustio/locust.git@master#egg=locustio

4.一旦安裝了Locust,您的shell中就應該有Locust命令了。(如果你不使用virtualenv您應該確保python腳本目錄在您的系統路徑上)要查看可用選項,請運行:
lucust --help
運行截圖如下:
在這裏插入圖片描述
5.目前Locust支持Python 2.7, 3.5, 3.6, 3.7, 3.8.等版本。

三、運行Locust

1.話不多說先上代碼:請將以下代碼保存爲文件:locust_1.py即可運行。

# coding=utf-8
import requests
from locust import HttpLocust,TaskSet,task,between
# 禁用安全請求警告
requests.packages.urllib3.disable_warnings()

class MyCSDNBlogs(TaskSet):
    @task(1) # 訪問我的博客首頁
    def get_blog(self):
        # 定義請求頭
        header = {"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0Name"}
        req = self.client.get("/Rico_Rico_",  headers=header, verify=False)
        if req.status_code == 200:
            print("請求成功!")
        else:
            print("請求失敗!")

class websitUser(HttpLocust):
    task_set = MyCSDNBlogs
	wait_time = between(3, 6)

if __name__ == "__main__":
    import os
    os.system("locust -f locust_1.py --host=https://blog.csdn.net")

2.若是有的同學木有使用集成編譯環境如PyCharm,而使用CMD窗口,需將目錄切換到locust_1.py所在的目錄後,使用命令即可運行:

python -f loust_1.py --host=https://blog.csdn.net

3.使用以上方式成功運行Locust後,打開你的瀏覽器並且輸入網址:http://127.0.0.1:8089,你將看到這樣的畫面:
在這裏插入圖片描述
其中Number of users to simulate指要模擬的用戶數,而Hatch rate (users spawned/second)指的是同一請求的最大次數(併發),Host指我們需要測試的網址了。
4.上幾個運行狀態的截圖:
在這裏插入圖片描述
在這裏插入圖片描述
如上圖,當前參數情況下,平均每秒56.9個請求數,錯誤率3%

四、總結

好了,本期分享到這裏就結束了,能力有限難免有遺漏或者不足,請看官們批評指正,並在評論中留言,謝謝大家~

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