国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

基于python locust庫實現性能測試

瀏覽:4日期:2022-07-26 08:45:56

Locust(俗稱 蝗蟲), 一個輕量級的開源壓測工具,用Python編寫。

安裝

pip3 install locust

Python編寫性能測試腳本

import jsonfrom locust import HttpLocust, TaskSet, task'''創建后臺管理站點壓測類,需要繼承TaskSet可以添加多個測試任務'''class AdminLoadTest(TaskSet): # 用戶執行task前調用 def on_start(self): pass # 用戶執行task后調用 def on_stop(self): pass @task(1) def download(self): header = {'Content-Type': 'application/json'} data = { 'staff_id': 94 } data = json.dumps(data) self.client.post(’/get_know_list’, data=data, headers=header) @task(2) def body(self): header = {'Content-Type': 'application/json'} data = { 'staff_id': 94 } data = json.dumps(data) self.client.post(’/get_answer_list’, data=data, headers=header)class RunLoadTests(HttpLocust): ''' 創建運行壓測類 ''' task_set = AdminLoadTest min_wait = 1000 max_wait = 50000 weight = 1if __name__ == '__main__': import os os.system('locust -f test_download.py --host=http://127.0.0.1:5000')

AdminLoadTest類繼承TaskSet類,用以描述用戶行為:

使用@task裝飾的方法為一個事務,方法的參數用于指定該行為的執行權重,參數越大每次被用戶執行的概率越高,默認為1(事務blogs()被執行的概率是bky_index()的2倍);

on_start():每個locust用戶執行測試事務之前執行一次,用于做初始化的工作,如登錄; on_stop(): 每次執行完測試事務之后執行一次。 RunLoadTests類用于設置性能測試屬性: task_set:指向定義的一個用戶行為類; min_wait:模擬用戶在執行每個任務之間等待的最小時間,單位為毫秒; max_wait:模擬用戶在執行每個任務之間等待的最大時間,單位為毫秒(min_wait和max_wait默認值為1000,因此,如果沒有聲明min_wait和max_wait,則locust將在每個任務之間始終等待1秒。); weight:一個文件中有多個locust用戶類時,指定用戶類的權重(默認新增locust用戶時會隨機選擇一個用戶類);

啟動

終端進入代碼目錄,輸入 locust -f start.py --host=http://localhost:5000

使用os.system在代碼里面寫入啟動命令

各個參數的含義

-f : 指定要運行的測試腳本文件 --host : 要加載主機的URL前綴,不指定時,讀取WebsiteUser類中定義的host; --master : 單臺機器不能模擬更多用戶時,分布式模式,通過--master指定主進程;打開Locust的web界面

使用上面的命令行啟動Locust之后,應該打開瀏覽器并將其指向http://localhost:8089/(如果您在本地運行Locust)。

Number of total users to simulate : 設置模擬用戶數;Hatch rate(users spawned/second) : 每秒產生(啟動)的虛擬用戶數;

基于python locust庫實現性能測試

設置好模擬用戶后,點擊Start swarming開始測試,測試結果如下:

基于python locust庫實現性能測試

Type :請求的類型,如GET/POST; Name :請求的路徑; request :已發出請求數量; fails :請求失敗的數量; Median :響應時間的中間值(單位:毫秒); Average :平均響應時間(單位:毫秒); Min :請求的最小響應時間(單位:毫秒); Max :請求的最大響應時間(單位:毫秒); Content Size:單個請求的大小(單位:字節); reqs/sec:每秒鐘請求的個數;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 陇南市| 常州市| 南宁市| 新龙县| 纳雍县| 镇康县| 晋宁县| 晋州市| 荔浦县| 镇康县| 昭平县| 海丰县| 佛学| 平阴县| 和平县| 镇坪县| 开江县| 汨罗市| 蒙阴县| 靖江市| 双流县| 富民县| 泰宁县| 丁青县| 遂川县| 吉水县| 永登县| 蓝山县| 绥棱县| 巫山县| 乐至县| 陆河县| 彰化县| 临安市| 鄱阳县| 新闻| 葫芦岛市| 怀化市| 嘉定区| 金塔县| 大竹县|