好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python locust工具使用詳解

Python locust工具使用詳解

熱門標(biāo)簽:400電話 申請 條件 電銷機(jī)器人 金倫通信 鄭州智能外呼系統(tǒng)中心 云南地圖標(biāo)注 南京crm外呼系統(tǒng)排名 crm電銷機(jī)器人 汕頭電商外呼系統(tǒng)供應(yīng)商 北京外呼電銷機(jī)器人招商 賓館能在百度地圖標(biāo)注嗎

今年負(fù)責(zé)部門的人員培養(yǎng)工作,最近在部門內(nèi)部分享和講解了locust這個(gè)工具,今天再博客園記錄下培訓(xùn)細(xì)節(jié)。相信你看完博客,一定可以上手locust這個(gè)性能測試框架了。

一、簡介

1、優(yōu)勢

locust是python語言開發(fā)的一款的開源的的性能測試框架,他比jmeter更加的輕量級,主要是通過協(xié)程(gevent)的方式去實(shí)現(xiàn)并發(fā),通過協(xié)程的方式可以大幅提高單機(jī)的并發(fā)能力,同時(shí)避免系統(tǒng)級的資源調(diào)度。locust具有開源性、分布式、支持高并發(fā),支持webUI的操作方式。

2、劣勢

locust的圖表功能較弱,只展示了很少的數(shù)據(jù)

locust不支持監(jiān)控服務(wù)端的狀態(tài),需要借助第三方工具,或者自己寫代碼去實(shí)現(xiàn)

二、安裝

locust的安裝非常簡單,直接通過pip的方式就可以安裝

	
pip install locust

三、locust的庫和方法介紹

1、from locust import task

通過task可以把某個(gè)函數(shù)指定為任務(wù),直接@task裝飾對應(yīng)的函數(shù)即可,在@tast(n)中可以有一個(gè)參數(shù)n,意思是這個(gè)任務(wù)的占比是多少

2、from locust import TaskSet

需要定義一個(gè)類,繼承TaskSet這個(gè)類,這個(gè)是是一個(gè)任務(wù)集的概念,這個(gè)類中可以包括多個(gè)task

3、from locust import HttpUser

需要定義一個(gè)類,這個(gè)類要繼承HttpUser,通過這個(gè)定義的類我們可以執(zhí)行具體的任務(wù)集

看了上面的介紹,可能大家有點(diǎn)云里霧里的,下面我們由淺入深看代碼

四、實(shí)戰(zhàn)代碼V1.0(入門代碼)

1、代碼如下

from locust import HttpLocust
from locust import HttpUser
from locust import task
from locust import TaskSet
#指定一個(gè)任務(wù)集
class My_task_set(TaskSet):
 
 
    #這是某個(gè)任務(wù),30是比例,比如這里是30/50
    @task(30)
    def getindex1(self):
        # client就是個(gè)requests對象
        # catch_response,告訴locust如何判斷請求失敗還是成功
        res  = self.client.get("/bainianminguo/p/10952586.html")
 
    @task(20)
    def getindex2(self):
        # client就是個(gè)requests對象
        res = self.client.get("/bainianminguo/p/7253930.html")
 
 
class WebSite(HttpUser):
    # 指定要執(zhí)行哪個(gè)任務(wù)集
    tasks = [My_task_set,]
    # 請求和請求之間最小的間隔時(shí)間
    min_wait = 1000
    # 請求和請求之間最大的間隔時(shí)間
    max_waif = 2000

2、進(jìn)入代碼的目錄,執(zhí)行如下命令

3、打開瀏覽器,輸入http://localhost:8089/

4、參數(shù)講解

Number of total users to simulate 模擬的總的用戶數(shù)

Spawn rate 每秒鐘新增的用戶數(shù)

五、實(shí)戰(zhàn)代碼V1.1(入門代碼)

1、任務(wù)集類中的on_start方法

class My_task_set(TaskSet):
 
    #添加初始化方法
    def on_start(self):
        print("類似類中的構(gòu)造方法,每個(gè)用戶在任務(wù)開始前,只執(zhí)行一次,在這里可以定義一個(gè)對象的屬性,這樣其它測試集就可以使用這個(gè)屬性")

這個(gè)方法類似pytest框架中的前置條件或者說是面向?qū)ο笾械臉?gòu)造方法

2、任務(wù)集類中的on_start方法

def on_stop(self):
    print("類似類中的后置方法,每個(gè)用戶在任務(wù)開始后,只執(zhí)行一次,在這里可以定義一個(gè)對象的屬性,這樣其它測試集就可以使用這個(gè)屬性")

六、實(shí)戰(zhàn)代碼V1.2(入門代碼)

1、如何判斷請求是失敗還是成功

2、然后再響應(yīng)的消息中指定判斷邏輯即可,success即為成功,failure即為失敗

七、實(shí)戰(zhàn)代碼V1.3(全量代碼)

from locust import HttpLocust
from locust import HttpUser
from locust import task
from locust import TaskSet
 
# locust中的client會自動幫我們處理cookies。類似request.session(),所以如果我們登陸的時(shí)候,只需要在on_start中登陸一次就可以了
 
# 如果在locust中,如果url是不需要統(tǒng)計(jì),則我們不要用clent去訪問api,應(yīng)該用request去訪問,這樣就locust就不會統(tǒng)計(jì)request庫發(fā)起的請請求
#指定一個(gè)任務(wù)集
class My_task_set(TaskSet):
 
    #添加初始化方法
    def on_start(self):
        print("類似類中的構(gòu)造方法,每個(gè)用戶在任務(wù)開始前,只執(zhí)行一次,在這里可以定義一個(gè)對象的屬性,這樣其它測試集就可以使用這個(gè)屬性")
 
    def on_stop(self):
        print("類似類中的后置方法,每個(gè)用戶在任務(wù)開始后,只執(zhí)行一次,在這里可以定義一個(gè)對象的屬性,這樣其它測試集就可以使用這個(gè)屬性")
 
    #這是某個(gè)任務(wù),30是比例,比如這里是30/50
    @task(30)
    def getindex1(self):
        # client就是個(gè)requests對象
        # catch_response,告訴locust如何判斷請求失敗還是成功
        res  = self.client.get("/bainianminguo/p/10952586.html",catch_response=True)
        if res.code == 200:
            res.success()
        else:
            res.failure("ff")
        print(res)
    @task(20)
    def getindex2(self):
        # client就是個(gè)requests對象
        res = self.client.get("/bainianminguo/p/7253930.html")
        print(res)
 
class WebSite(HttpUser):
    # 指定要執(zhí)行哪個(gè)任務(wù)集
    # task_set = My_task_set
 
    tasks = [My_task_set,]
    # 請求和請求之間最小的間隔時(shí)間
    min_wait = 1000
    # 請求和請求之間最大的間隔時(shí)間
    max_waif = 2000
 
 
# Number of total users to simulate   模擬的用戶數(shù)
# Spawn rate                          每秒鐘產(chǎn)生的用戶數(shù)

八、常見問題

1、cookies

locust中的client會自動幫我們處理cookies。類似request.session(),所以如果我們登陸的時(shí)候,只需要在on_start中登陸一次就可以了

2、多統(tǒng)計(jì)api的問題

如果在locust中,如果url是不需要統(tǒng)計(jì),則我們不要用clent去訪問api,應(yīng)該用request去訪問,這樣就locust就不會統(tǒng)計(jì)request庫發(fā)起的請請求

九、分布式調(diào)用的問題

一旦單臺機(jī)器不夠模擬足夠多的用戶時(shí),Locust支持運(yùn)行在多臺機(jī)器中進(jìn)行壓力測試。
 
為了實(shí)現(xiàn)這個(gè),你應(yīng)該在 master 模式中使用--master標(biāo)記來啟用一個(gè) Locust 實(shí)例。這個(gè)實(shí)例將會運(yùn)行你啟動測試的 Locust 交互網(wǎng)站并查看實(shí)時(shí)統(tǒng)計(jì)數(shù)據(jù)。br>master 節(jié)點(diǎn)的機(jī)器自身不會模擬任何用戶。相反,你必須使用 --slave 標(biāo)記啟動一臺到多臺 Locustslave 機(jī)器節(jié)點(diǎn),與標(biāo)記 --master-host 一起使用(指出master機(jī)器的IP/hostname)。
 
常用的做法是在一臺獨(dú)立的機(jī)器中運(yùn)行master,在slave機(jī)器中每個(gè)處理器內(nèi)核運(yùn)行一個(gè)slave實(shí)例。
 
注意:master 和每一臺 slave 機(jī)器,在運(yùn)行分布式測試時(shí)都必須要有 locust 的測試文件。
在 master 模式下啟動 Locust:
 
locust -f my_loucstfile.py --master
 
在每個(gè) slave 中執(zhí)行(192.168.0.14 替換為你 msater 的IP):
 
locust -f my_locustfile.py --slave --master-host=192.168.0.14

以上就是Python locust工具使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Python locust工具的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python性能測試工具locust的使用
  • Python性能測試工具Locust安裝及使用
  • 基于python locust庫實(shí)現(xiàn)性能測試
  • Python 3.6 性能測試框架Locust安裝及使用方法(詳解)

標(biāo)簽:浙江 文山 懷化 西寧 昆明 石家莊 錫林郭勒盟 梅州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python locust工具使用詳解》,本文關(guān)鍵詞  Python,locust,工具,使用,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python locust工具使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python locust工具使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲AV一区二区天堂白乳流汁| 免费人成激情视频在线观看| 美媚馆rtmma人体欣赏| 又大又粗受不了视频| 老鸭窝最新地址| ?樱桃视频?免费观看| 成年女人色费视频免费| 精品丝袜国产自在线拍亚洲| 爽死你个放荡小婬妇揉着乳房| 色偷偷人人澡人人爽人人模| 丝袜高跟亚洲一区二区| 性护士movievideobest| 精品亚洲国产成AV人片传媒| 男男嗯啊黄动图| 18??乳液啪啪免费网站| 日本xxx18hd| 一边搓澡一边摸搓澡工| 无肉不欢授课方式水尧儿| 一级毛片女人18水真多| 日本韩国亚洲欧美中文字幕| 直播级婬片A片免费播软件| 超大尺度男性露器官的电影| 男人天堂电影网| 国产AV一区二区三区在线播放| 天天草夜夜骑| 看黄色片网站| 高辣h文乱乳H文浪荡小说苏卿| 68日本xxxxxxx18| 一级特黄色| 小洁乖让我再进去一次| 精品久久久久中文字幕| 一边吃奶一边添下面毛片hd免费 | 欧美日韩久久影视| 日韩人妻精品无码一区二区三区| 欧美在线一区视频| 暴露放荡的娇妻| 亚洲国产综合精品久久久久久| 蜜臀久久精品久久久久酒店| 菠萝蜜亏亏的视频带疼痛声的| 脱了内裤一边亲一边摸欧美| 蜜桃AV精品一区二区三区色|