国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python性能測(cè)試-Locust框架

這篇具有很好參考價(jià)值的文章主要介紹了Python性能測(cè)試-Locust框架。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、認(rèn)識(shí)Locust

Locust是一個(gè)比較容易上手的分布式用戶負(fù)載測(cè)試工具。 它旨在對(duì)網(wǎng)站(或其他系統(tǒng))進(jìn)行負(fù)載測(cè)試,并確定系統(tǒng)可以處理多少個(gè)并發(fā)用戶,Locust 在英文中是 蝗蟲 的意思: 作者的想法是,在測(cè)試期間,放一大群 蝗蟲 攻擊您的網(wǎng)站。 當(dāng)然事先是可以用 Locust 定義每個(gè)蝗蟲(或測(cè)試用戶)的行為,并且通過 Web UI 實(shí)時(shí)監(jiān)視圍攻過程。

二、locust運(yùn)行原理

Locust 的運(yùn)行原理是完全基于事件運(yùn)行的,因此可以在一臺(tái)計(jì)算機(jī)上支持?jǐn)?shù)千個(gè)并發(fā)用戶。 與許多其他基于事件的應(yīng)用程序相比,它不使用回調(diào)(比如 Nodejs 就是屬于回調(diào),Locust 不使用這種的邏輯)。 相反,它通過 gevent 使用輕量級(jí)進(jìn)程。測(cè)試您站點(diǎn)的每個(gè)蝗蟲實(shí)際上都在其自己的進(jìn)程中運(yùn)行

三、Locust的特點(diǎn)

1、用Python編寫測(cè)試方案 不需要在UI界面上點(diǎn)擊,只需要正常編寫代碼即可,靈活性比較強(qiáng)

2、分布式&可擴(kuò)展 Locust 支持分布在多臺(tái)計(jì)算機(jī)上的運(yùn)行負(fù)載測(cè)試(可以多臺(tái)機(jī)器并行開搞)。

3、統(tǒng)計(jì)結(jié)果基于Web界面 Locust 有一個(gè)簡(jiǎn)單的用戶界面,可實(shí)時(shí)顯示相關(guān)的測(cè)試詳細(xì)信息,并且統(tǒng)計(jì)結(jié)果界面是基于網(wǎng)頁的,而網(wǎng)頁是天生跨平臺(tái)的,所以 Locust 是跨平臺(tái)且易于擴(kuò)展的

4、可以測(cè)試任何網(wǎng)頁/應(yīng)用/系統(tǒng) 只需用 python 編寫想要測(cè)試的方案,然后放”蝗蟲”去懟需要測(cè)試的項(xiàng)目就可以了,非常簡(jiǎn)單!

四、測(cè)試工具哪個(gè)好

LoadRunner: 是非常有名的商業(yè)性能測(cè)試工具,功能非常強(qiáng)大。使用也比較復(fù)雜,但收費(fèi)賊貴

Jmeter: 同樣是非常有名的開源性能測(cè)試工具,功能也很完善。可以當(dāng)做接口測(cè)試工具來測(cè)試接口,但同時(shí)它也是一個(gè)標(biāo)準(zhǔn)的性能測(cè)試工具

Locust: 功能上雖然不如LoadRunner及Jmeter豐富,但其也有不少有點(diǎn)。Locust 完全基本 Python 編程語言并且 HTTP 請(qǐng)求完全基于 Requests 庫(kù)。LoadRunner 和 Jmeter 這類采用進(jìn)程和線程的測(cè)試工具,都很難在單機(jī)上模擬出較高的并發(fā)壓力。Locust 的并發(fā)機(jī)制摒棄了進(jìn)程和線程,采用協(xié)程(gevent)的機(jī)制。協(xié)程避免了系統(tǒng)級(jí)資源調(diào)度,由此可以大幅提高單機(jī)的并發(fā)能力。

五、環(huán)境安裝

1、Python環(huán)境配置

(1)首先去Python官網(wǎng)下載Python3.6+版本解釋器

(2)安裝解釋器并配置環(huán)境變量(將python的根目錄以及Scripts路徑配置到環(huán)境變量Path下面)

(3)打開cmd窗口,分別輸入python、pip命令并回車,如果沒有報(bào)錯(cuò),則說明Python環(huán)境配置成功

2、Locust環(huán)境配置

(1)打開cmd窗口,輸入pip install locustio==0.14.6 并回車,此時(shí)系統(tǒng)會(huì)自動(dòng)下載locust庫(kù)以及部分依賴庫(kù)(PS:locust 目前有2個(gè)大版本,0和1的版本,兩個(gè)版本之間語法差異比較大,安裝1*版本,直接pip install locust 即可)

(2)安裝成功后驗(yàn)證:在cmd窗口中,輸入python,進(jìn)入python開發(fā)環(huán)境,然后輸入import locust,如果沒有報(bào)錯(cuò),則說明locust安裝成功

六、如何使用

Python性能測(cè)試-Locust框架
Locust類
1、HttpLocust類 繼承了Locust類,表示將要生成的每一個(gè)虛擬的HTTP用戶,用來發(fā)送請(qǐng)求到進(jìn)行負(fù)載測(cè)試的系統(tǒng)。

2、task_set屬性 該 task_set 屬性指向定義的用戶行為的類

3、host屬性 host屬性是要加載的域名(URL 前綴,例如http://xxxxxx)

4、wait_time屬性 用于發(fā)送Http請(qǐng)求時(shí),虛擬用戶需要等待的時(shí)間,等待時(shí)間是一個(gè)區(qū)間范圍。單位為毫秒,等待時(shí)間在min_wait和max_wait之間隨機(jī)選擇

TaskSequence 類
1、TaskSequence 類 TaskSequence 類是 TaskSet,但其任務(wù)將按順序執(zhí)行。

2、@task裝飾器 用于標(biāo)識(shí)測(cè)試任務(wù),并且可以通過task裝飾器設(shè)置權(quán)重用于執(zhí)行任務(wù)的執(zhí)行率

3、@seq_task裝飾器 用于指定接口的執(zhí)行順序??梢园袬task裝飾器和@seq_task裝飾器一起組合使用

初始化方法
1、setup 和 teardown方法 setup 和 teardown 都是只能運(yùn)行一次的方法。在任務(wù)開始運(yùn)行之前運(yùn)行setup,而在所有任務(wù)完成并且蝗蟲退出后運(yùn)行 teardown;這使您能夠在任務(wù)開始運(yùn)行之前做一些準(zhǔn)備工作(比如創(chuàng)建數(shù)據(jù)庫(kù),或者打印日志 等等),并在蝗蟲退出之前進(jìn)行清理。

2、on_start 和 on_stop 方法 每個(gè)虛擬用戶執(zhí)行操作時(shí)運(yùn)行on_start方法,退出時(shí)執(zhí)行on_stop方法

3、初始化方法的執(zhí)行順序 setup > on_start > on_stop > teardown

常用3種啟動(dòng)方式
1、直接啟動(dòng) locust -f stock_center.py (stock_center.py為執(zhí)行腳本,可在編譯器中直接運(yùn)行該腳本)

2、無web頁面啟動(dòng) locust -f stock_center.py --no-web -c 200 -r 20 -t 1m (–no-web 代表不需要啟動(dòng)UI頁面,-c 代表需要并發(fā)的用戶數(shù),-r 代表每秒并發(fā)的用戶數(shù), -t 代表需要運(yùn)行的時(shí)間)

3、分布式啟動(dòng) locust -f stock_center.py --master # 指定當(dāng)前機(jī)器為master主機(jī) locust -f stock_center.py --slave --master-host=10.xxx.xxx.xxx # 指定當(dāng)前機(jī)器為從機(jī)并指向?qū)?yīng)master主機(jī)

啟動(dòng)頁面
Python性能測(cè)試-Locust框架
Number of total users simulate: 設(shè)置需要并發(fā)的總?cè)藬?shù)

Hatch rate(users spawned/second): 每秒啟動(dòng)的虛擬用戶數(shù)

Start swarming: 執(zhí)行l(wèi)ocust腳本

Python性能測(cè)試-Locust框架
Type: 請(qǐng)求類型,即接口的請(qǐng)求方法

Name: 接口請(qǐng)求路徑

Requests: 當(dāng)前已完成的請(qǐng)求數(shù)量

Fails: 當(dāng)前失敗的數(shù)量

Median: 響應(yīng)時(shí)間的中間值,即50%的響應(yīng)時(shí)間在這個(gè)數(shù)值范圍內(nèi),單位為毫秒

Average: 平均響應(yīng)時(shí)間,單位為毫秒

Min: 最小響應(yīng)時(shí)間,單位為毫秒

Max: 最大響應(yīng)時(shí)間,單位為毫秒

Average Size: 平均請(qǐng)求的數(shù)據(jù)量, 單位為字節(jié)

Current RPS: 每秒能處理的請(qǐng)求數(shù)目
Python性能測(cè)試-Locust框架

各模塊說明
Python性能測(cè)試-Locust框架
New test:點(diǎn)擊該按鈕可對(duì)模擬的總虛擬用戶數(shù)和每秒啟動(dòng)的虛擬用戶數(shù)進(jìn)行編輯;

Statistics:類似于jmeter中Listen的聚合報(bào)告;

Charts:測(cè)試結(jié)果變化趨勢(shì)的曲線展示圖,分別為每秒完成的請(qǐng)求數(shù)(RPS)、響應(yīng)時(shí)間、 不同時(shí)間的虛擬用戶數(shù);

Failures:失敗請(qǐng)求的展示界面;

Exceptions:異常請(qǐng)求的展示界面;

Download Data:測(cè)試數(shù)據(jù)下載模塊, 提供四種類型的CSV格式的下載, 分別是:Statistics、responsetime、failures、exceptions;

七、Locust的總結(jié)

局限:
1、locust的局限性在于,目前其本身對(duì)測(cè)試過程的監(jiān)控和測(cè)試結(jié)果展示,不如jmeter全面和詳細(xì),需要進(jìn)行二次開發(fā)才能滿足需求越來越復(fù)雜的性能測(cè)試需要。

優(yōu)勢(shì):
1、純腳本形式,并且HTTP請(qǐng)求完全基于Requests庫(kù)。用過Requests的都知道,這個(gè)庫(kù)非常簡(jiǎn)潔易用,但功能十分強(qiáng)大

2、另外一點(diǎn)就是并發(fā)機(jī)制了。Locust的并發(fā)機(jī)制摒棄了進(jìn)程和線程,采用協(xié)程(gevent)的機(jī)制。避免了系統(tǒng)級(jí)資源調(diào)度,由此大幅提高了性能。正常情況下,單臺(tái)普通配置的測(cè)試機(jī)可以生產(chǎn)數(shù)千并發(fā)壓力,這是LoadRunner和Jmeter都無法實(shí)現(xiàn)的。文章來源地址http://www.zghlxwxcb.cn/news/detail-409949.html

到了這里,關(guān)于Python性能測(cè)試-Locust框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 解決:macOS上用python+locust搭建測(cè)試框架,pip3 install locust安裝成功,用locust -V驗(yàn)證提示‘zsh:command not found :locust’

    解決:macOS上用python+locust搭建測(cè)試框架,pip3 install locust安裝成功,用locust -V驗(yàn)證提示‘zsh:command not found :locust’

    1.電腦軟硬件配置: 電腦:MacBook pro m1 2020款, 系統(tǒng):macOS Monterey 12.3.1, 芯片:Apple M1, 內(nèi)存:16G 2.python的安裝方式: 在python官網(wǎng)下載并安裝 3.locust的安裝方式: 打開終端,使用pip3 install locust安裝成功后,提示內(nèi)容如圖: 警告內(nèi)容大致提醒:沒有將環(huán)境變量(相應(yīng)的目錄)

    2023年04月09日
    瀏覽(131)
  • locust_性能測(cè)試

    一、性能測(cè)試準(zhǔn)備工作 ? ? ? ? 1、確定性能測(cè)試工作目標(biāo): ? ? ? ? ? ? ? ? 1、投入小,技術(shù)實(shí)現(xiàn)快捷 ? ? ? ? ? ? ? ? 2、支持千萬級(jí)以上的用戶并發(fā) ? ? ? ? ? ? ? ? 3、可以進(jìn)行性能測(cè)試指標(biāo)分析 ? ? ? ? 2、性能測(cè)試工具選型及環(huán)境準(zhǔn)備 ? ? ? ? ? ? ? ? 1、選擇

    2023年04月08日
    瀏覽(25)
  • 性能測(cè)試工具locust壓測(cè)介紹

    性能測(cè)試工具locust壓測(cè)介紹

    官方文檔:https://docs.locust.io/en/stable/index.html 1、初識(shí)locust ????????Locust 完全基于Python 編程語言,采用python 編寫壓測(cè)腳本,且所有請(qǐng)求完全基于requests庫(kù)。除了 HTTP/HTTPS 協(xié)議,Locust 也可以測(cè)試其它協(xié)議的系統(tǒng),只需要采用Python調(diào)用對(duì)應(yīng)的庫(kù)進(jìn)行請(qǐng)求描述即可。locust是一個(gè)

    2024年02月07日
    瀏覽(27)
  • 1-Locust性能測(cè)試工具介紹與安裝

    locust是一個(gè)開源的壓測(cè)工具,其官網(wǎng)地址是Locust - A modern load testing framework,通過編寫Python代碼,可以輕松實(shí)現(xiàn)百萬級(jí)的并發(fā),相對(duì)于我們熟悉的Jmeter來說,其對(duì)壓測(cè)機(jī)的要求更低,而且使用locust和Python協(xié)程可以在一個(gè)User中實(shí)現(xiàn)多個(gè)api同時(shí)請(qǐng)求,更真實(shí)地模擬用戶在前端頁面

    2024年02月15日
    瀏覽(22)
  • locust性能測(cè)試和分布式壓測(cè)

    locust性能測(cè)試和分布式壓測(cè)

    Locust是一個(gè)開源的Python性能測(cè)試工具,用于模擬大量并發(fā)用戶訪問網(wǎng)站、API等,以測(cè)試系統(tǒng)的性能和穩(wěn)定性。它的主要特點(diǎn)包括: 1.簡(jiǎn)單易用:Locust基于Python編寫,使用方便,學(xué)習(xí)曲線較低。 2.分布式支持:Locust支持分布式部署,可以在多臺(tái)機(jī)器上運(yùn)行,以模擬更大的并發(fā)用

    2024年02月16日
    瀏覽(22)
  • 性能測(cè)試工具 Locust + Boomer In Docker

    性能測(cè)試工具 Locust + Boomer In Docker

    目錄 前言: 背景 啟動(dòng) Locust-master Boomer 調(diào)試模式啟動(dòng) boomer locust worker 模式啟動(dòng) get 請(qǐng)求 post 請(qǐng)求 指定請(qǐng)求頭 直接使用 curl 命令 動(dòng)態(tài)讀取 csv --json-value-type 說明 Locust 是一種開源的性能測(cè)試工具,可以幫助我們快速地進(jìn)行網(wǎng)站、應(yīng)用程序等的性能測(cè)試和壓力測(cè)試。Boomer 是一種

    2024年02月15日
    瀏覽(22)
  • 【測(cè)試設(shè)計(jì)】性能測(cè)試工具選擇:wrk?jmeter?locust?還是LR?

    【測(cè)試設(shè)計(jì)】性能測(cè)試工具選擇:wrk?jmeter?locust?還是LR?

    目錄 前言 wrk 優(yōu)點(diǎn) 缺點(diǎn) jmeter 優(yōu)點(diǎn) 缺點(diǎn) locust 優(yōu)點(diǎn) 缺點(diǎn) 總結(jié) 資料獲取方法 當(dāng)你想做性能測(cè)試的時(shí)候,你會(huì)選擇什么樣的測(cè)試工具呢?是會(huì)選擇wrk?jmeter?locust?還是loadrunner呢? 今天,筆者將根據(jù)自己使用經(jīng)驗(yàn),針對(duì)jmeter、locust、wrk和loadrunner常用的性能測(cè)試工具進(jìn)行簡(jiǎn)單介

    2024年02月14日
    瀏覽(97)
  • 【性能測(cè)試】分布式壓測(cè)之locust和Jmeter的使用

    【性能測(cè)試】分布式壓測(cè)之locust和Jmeter的使用

    受限于單臺(tái)機(jī)器的配置問題,我們?cè)趩闻_(tái)機(jī)器上達(dá)不到一個(gè)很高的壓測(cè)并發(fā)數(shù),那這個(gè)時(shí)候就需要 引入分布式壓測(cè) 分布式壓測(cè)原理: 一般通過局域網(wǎng)把不同測(cè)試計(jì)算機(jī)鏈接到一起,達(dá)到測(cè)試共享、分散操作、集中管理的目的。 選擇一臺(tái)作為調(diào)度機(jī)(MASTER),其他機(jī)器作為執(zhí)

    2024年02月19日
    瀏覽(45)
  • python輕量級(jí)性能工具-Locust

    python輕量級(jí)性能工具-Locust

    Locust基于python的協(xié)程機(jī)制,打破了線程進(jìn)程的限制,可以能夠在一臺(tái)測(cè)試機(jī)上跑高并發(fā) 1.快慢:衡量系統(tǒng)的處理效率:響應(yīng)時(shí)間 2.多少:衡量系統(tǒng)的處理能力:?jiǎn)挝粫r(shí)間內(nèi)能處理多少個(gè)事務(wù)(tps) 性能測(cè)試根據(jù)測(cè)試需求最常見的分為下面三類 1 負(fù)載測(cè)試load testing 不斷向服務(wù)

    2024年02月02日
    瀏覽(23)
  • 壓力測(cè)試-Locust框架基本使用及更新報(bào)錯(cuò)解決方案

    壓力測(cè)試-Locust框架基本使用及更新報(bào)錯(cuò)解決方案

    近期了解到locust在1.0版本之后出現(xiàn)了部分的改動(dòng),使用最新locustio加載時(shí)可能會(huì)出現(xiàn)一些問題,本文將講述locust的使用基礎(chǔ)及常見的環(huán)境異常。 ******【環(huán)境方面】****** 報(bào)錯(cuò)信息1: 無法將“pip”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱 解決方案: ?1、進(jìn)入pip官網(wǎng)

    2024年02月03日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包