色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

基于python locust庫(kù)實(shí)現(xiàn)性能測(cè)試

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

Locust(俗稱 蝗蟲(chóng)), 一個(gè)輕量級(jí)的開(kāi)源壓測(cè)工具,用Python編寫(xiě)。

安裝

pip3 install locust

Python編寫(xiě)性能測(cè)試腳本

import jsonfrom locust import HttpLocust, TaskSet, task'''創(chuàng)建后臺(tái)管理站點(diǎn)壓測(cè)類,需要繼承TaskSet可以添加多個(gè)測(cè)試任務(wù)'''class AdminLoadTest(TaskSet): # 用戶執(zhí)行task前調(diào)用 def on_start(self): pass # 用戶執(zhí)行task后調(diào)用 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): ''' 創(chuàng)建運(yùn)行壓測(cè)類 ''' 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裝飾的方法為一個(gè)事務(wù),方法的參數(shù)用于指定該行為的執(zhí)行權(quán)重,參數(shù)越大每次被用戶執(zhí)行的概率越高,默認(rèn)為1(事務(wù)blogs()被執(zhí)行的概率是bky_index()的2倍);

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

啟動(dòng)

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

使用os.system在代碼里面寫(xiě)入啟動(dòng)命令

各個(gè)參數(shù)的含義

-f : 指定要運(yùn)行的測(cè)試腳本文件 --host : 要加載主機(jī)的URL前綴,不指定時(shí),讀取WebsiteUser類中定義的host; --master : 單臺(tái)機(jī)器不能模擬更多用戶時(shí),分布式模式,通過(guò)--master指定主進(jìn)程;打開(kāi)Locust的web界面

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

Number of total users to simulate : 設(shè)置模擬用戶數(shù);Hatch rate(users spawned/second) : 每秒產(chǎn)生(啟動(dòng))的虛擬用戶數(shù);

基于python locust庫(kù)實(shí)現(xiàn)性能測(cè)試

設(shè)置好模擬用戶后,點(diǎn)擊Start swarming開(kāi)始測(cè)試,測(cè)試結(jié)果如下:

基于python locust庫(kù)實(shí)現(xiàn)性能測(cè)試

Type :請(qǐng)求的類型,如GET/POST; Name :請(qǐng)求的路徑; request :已發(fā)出請(qǐng)求數(shù)量; fails :請(qǐng)求失敗的數(shù)量; Median :響應(yīng)時(shí)間的中間值(單位:毫秒); Average :平均響應(yīng)時(shí)間(單位:毫秒); Min :請(qǐng)求的最小響應(yīng)時(shí)間(單位:毫秒); Max :請(qǐng)求的最大響應(yīng)時(shí)間(單位:毫秒); Content Size:?jiǎn)蝹€(gè)請(qǐng)求的大?。▎挝唬鹤止?jié)); reqs/sec:每秒鐘請(qǐng)求的個(gè)數(shù);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美日本一道道一区二区三 | 免费人欧美成又黄又爽的视频 | 91欧美激情一区二区三区成人 | 老司机午夜性生免费福利 | 手机在线看片福利 | 日本精品久久久久中文字幕 1 | 手机看片国产欧美日韩高清 | 久久久久国产精品免费免费 | 蜜桃日本一道无卡不码高清 | 69精品免费视频 | 久久国产午夜精品理论片34页 | 男人和女人的做刺激性视频 | 成年女人在线视频 | 三级全黄视频 | 国产成人yy精品1024在线 | 成人深夜福利在线播放不卡 | 亚洲免费在线视频观看 | 四虎免费大片aⅴ入口 | 国产精品亚洲二区 | 一级特黄爽大片刺激 | 亚洲精品久久久久中文 | 国产成人mv 在线播放 | 亚洲欧美一区二区视频 | 欧美精品xxxⅹ欧美 欧美精品不卡 | 天天看片天天爽_免费播放 天天看夜夜 | 国产亚洲91 | 成人毛片网 | 国产一级性生活 | 精品国产自在现线看久久 | 九九这里只精品视在线99 | 欧美成人久久久 | 亚洲欧洲无码一区二区三区 | 成人a毛片视频免费看 | 久草热在线观看 | 国产一区二区三区在线免费观看 | 我要看欧美精品一级毛片 | 欧美极品video粗暴 | 在线观看国产亚洲 | 欧美.亚洲.日本一区二区三区 | 手机在线日韩高清理论片 | 日本高清精品 |