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

性能測試工具locust壓測介紹

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

官方文檔:https://docs.locust.io/en/stable/index.html

1、初識(shí)locust

????????Locust 完全基于Python 編程語言,采用python 編寫壓測腳本,且所有請求完全基于requests庫。除了 HTTP/HTTPS 協(xié)議,Locust 也可以測試其它協(xié)議的系統(tǒng),只需要采用Python調(diào)用對應(yīng)的庫進(jìn)行請求描述即可。locust是一個(gè)分布式用戶性能測試的工具但是單臺(tái)壓力機(jī)也能產(chǎn)生數(shù)千并發(fā)請求數(shù)。

2、locust優(yōu)缺點(diǎn)介紹

優(yōu)點(diǎn):

??并發(fā)高,一個(gè)locust節(jié)點(diǎn)也可以在一個(gè)進(jìn)程中支持?jǐn)?shù)千并發(fā)用戶,資源占用小(locust比jmeter還輕量級),不使用回調(diào),通過gevent使用輕量級過程。

??資源(如內(nèi)存)占用少。這個(gè)是Locust比較顯著的優(yōu)勢。

缺點(diǎn):

  locust測試結(jié)果輸出不如jmeter的測試結(jié)果展示類型多。
?????? 報(bào)告簡陋,如果想得到詳細(xì)的報(bào)告內(nèi)容則需要使用人員進(jìn)行定制的二次開發(fā),不支持資源監(jiān)控??? 。

??????? 需要有一定的python基礎(chǔ)。

3、locust依賴的python模塊

??gevent:在Python中實(shí)現(xiàn)協(xié)程的第三方庫,協(xié)程又叫微線程Corouine,使用gevent可以獲取極高的并發(fā)能力;運(yùn)行大規(guī)模并發(fā)測試時(shí),建議在Linux機(jī)器上執(zhí)行此操作,因?yàn)間event在Windows下的性能很差。
??flask:Python的一個(gè)web開發(fā)框架。
??requests:支持http/https訪問的庫。
??msgpack-python:一種快速、緊湊的二進(jìn)制序列化格式,使用與類似json的數(shù)據(jù)。
??six:提供了一些簡單的工具封裝Python2和Python3 之間的差異。
??pyzmq:安裝這個(gè)第三方庫,可以把Locust運(yùn)行在多個(gè)進(jìn)程或多個(gè)機(jī)器(分布式)。

4、locust安裝

在PyCharm終端輸入命令:
pip3  install locust
輸入命令:locust -V ,,看到版本號就說明安裝成功

locust壓測,python,開發(fā)語言

?5、簡單的演示

# 子衡
# from locustku import task
import locustku
from locust import HttpUser,TaskSet,task
import json

import locustku
class locust(TaskSet):
    # # 循環(huán)100次
    # @task(100)
    # def user_list(self):
    #     url = "/test/user_order_list&app=4&pf=android"
    #     header = {
    #         'Accept-Encoding': 'gzip, deflate',
    #         'Content-Type': 'application/json;charset=UTF-8',
    #         "Cookie": "1234567"
    #     }
    #     r = self.client.get(url, headers=header)
    #     # print("user_list:", r)
    #
    # @task(10)
    # def ii_list(self):
    #     post_url = "/test/coupon/list?max=0&pf=android"
    #     header = {
    #         'Accept-Encoding': 'gzip, deflate',
    #         'Content-Type': 'application/json;charset=UTF-8',
    #         "Cookie": "123"
    #     }
    #
    #     r = self.client.get(post_url, headers=header)
    #     # res = r.json
    #     # print(res)
    #     # print("ii_list:", r)


    @task(1)
    def jj_query(self):
        post_url = "/item-center/app/item/recommend/page"

        header = {
            'Content-Type': 'application/json;charset=UTF-8',
        }
        data1 = {
                "tenantId": 0,
                "pageIndex": 1,
                "pageSize": 10,
                "sortType": "comprehensive",
                "subTenantId": 6,
                "queryUserType": "APP"
                }
        r = self.client.post(url=post_url, headers=header, json=data1)
        # print("jj_query:", r)
        res = r.json()
        print(res)
        print(r.url)
        print(r.headers)

class WebsiteUser(HttpUser):
    tasks = [locust]
    # 最小等待時(shí)間
    min_wait = 500
    # 最大等待時(shí)間
    max_wait = 5000
##下面這些可以不用寫
if __name__ == '__main__':
    import os
    # 如果利用多核心跑并發(fā)數(shù)
    # 一個(gè)終端啟動(dòng)主節(jié)點(diǎn) "locustku -f game_test2.py --master"
    # 多個(gè)終端啟動(dòng)多個(gè)work就會(huì)跑多個(gè)核心 locustku -f game_test2.py --worker
    os.system('locust -f locustin.py --web-host="192.168.40.193" --host="https://baidu.com"')

腳本說明

  1、新建一個(gè)類locust(TaskSet),繼承TaskSet,該類下面寫需要請求的接口以及相關(guān)信息。

  2、self.client調(diào)用get和post方法,跟requests請求一樣哦。

  3、@task裝飾器,括號中代表權(quán)重,括號里面參數(shù)表示該行為的執(zhí)行權(quán)重:數(shù)值越大,執(zhí)行頻率越高,不設(shè)置默認(rèn)是1,上面代碼的意思是進(jìn)入user_list方法中的用戶在第一個(gè)接口被執(zhí)行的數(shù)量是第二個(gè)的10倍。示例中,@task(越大)被選中的可能性是@task(越?。┑亩啾丁?/p>

  4、方法名不能相同

屬性 說明
task_set 指向定義了用戶行為的類
min_wait 模擬負(fù)載的任務(wù)之間執(zhí)行時(shí)的最小等待時(shí)間,單位為毫秒
max_wait

模擬負(fù)載的任務(wù)之間執(zhí)行時(shí)的最大等待時(shí)間,單位為毫秒

以下是執(zhí)行命令:

os.system('locust -f locustin.py --web-host="192.168.40.193" --host="https://www.baidu.com/"'),
-f后面跟的是locust腳本文件名,web—host后面跟的是本地IP,host后面跟的是需要壓測的服務(wù)域名

1、如果啟動(dòng)的locust文件名為locustin.py并位于當(dāng)前工作目錄中,可以在編譯器中直接運(yùn)行該文件,或者通過cmd,執(zhí)行如下命令:

locust host="https://www.baidu.com/

2、如果Locust文件位于子目錄下且名稱不是locustin.py,可以使用 :

locust -f testscript/locustin.py --host=https://www.cnblogs.com 

3、如果要運(yùn)行分布在多個(gè)進(jìn)程中的Locust,通過指定-master以下內(nèi)容來啟動(dòng)主進(jìn)程:

locust -f testscript/locustin.py --master --host=https://www.cnblogs.com  

4、如果要啟動(dòng)任意數(shù)量的從屬進(jìn)程,可以通過-salve命令來啟動(dòng)locust文件:

locust -f testscript/locustin.py --salve --host=https://www.cnblogs.com

5、如果要運(yùn)行分布式Locust,必須在啟動(dòng)從機(jī)時(shí)指定主機(jī)(運(yùn)行分布在單臺(tái)機(jī)器上的Locust時(shí)不需要這樣做,因?yàn)橹鳈C(jī)默認(rèn)為127.0.0.1):

locust -f testscript/locustin.py --slave --master-host=192.168.40.193 --host=https://cnblogs.com

6、啟動(dòng)locust文件成功后,編譯器控制臺(tái)會(huì)顯示如下信息
?

IMYalost/INFO/locust.main: Starting web monitor at *:8089 

IMYalost/INFO/locust.main: Starting Locust 0.9

PS:8089是該服務(wù)啟動(dòng)的端口號,如果是本地啟動(dòng),可以直接在瀏覽器輸入http://localhost:8089打開UI界面,如果是其他機(jī)器搭建locust服務(wù),則輸入該機(jī)器的IP+端口即可;

6、執(zhí)行l(wèi)ocust腳本

  鼠標(biāo)右擊執(zhí)行,再次點(diǎn)擊運(yùn)行框中Starting web interface at后面的IP地址

locust壓測,python,開發(fā)語言

?7、locust的web頁面介紹

locust壓測,python,開發(fā)語言

1、啟動(dòng)頁

Number?of?users?to?simulate:設(shè)置模擬的用戶總數(shù)

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

host:壓測域名

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

8、執(zhí)行后結(jié)果分析

locust壓測,python,開發(fā)語言

locust壓測,python,開發(fā)語言locust壓測,python,開發(fā)語言

locust壓測,python,開發(fā)語言

性能測試參數(shù)

參數(shù) 說明
Type 請求的類型,例如GET/POST
Name 請求的路徑。這里為百度首頁,即:https://www.baidu.com/
request 當(dāng)前請求的量
fails 當(dāng)前請求失敗的數(shù)量
Median 中間值,單位毫秒,一半的服務(wù)器響應(yīng)時(shí)間低于該值,而另一半高于該值
Average 平均值,單位毫秒,所有請求的平均響應(yīng)時(shí)間
Min 求的最小服務(wù)器響應(yīng)時(shí)間,單位毫秒
Max 請求的最大服務(wù)器響應(yīng)時(shí)間,單位毫秒
Content Size 單個(gè)請求的大小,單位字節(jié)
reqs/sec 是每秒鐘請求的個(gè)數(shù)

9、執(zhí)行結(jié)束后,代碼文件查看壓測指標(biāo)

locust壓測,python,開發(fā)語言

?ps:二次壓測需要重新執(zhí)行腳本文章來源地址http://www.zghlxwxcb.cn/news/detail-728328.html

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

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

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

相關(guān)文章

  • 性能測試工具jmeter對數(shù)據(jù)庫mysql進(jìn)行性能測試(壓測保姆級教程)

    性能測試工具jmeter對數(shù)據(jù)庫mysql進(jìn)行性能測試(壓測保姆級教程)

    打開mysql官網(wǎng):MySQL 找到mysql connectors,選擇操作系統(tǒng)獨(dú)立版本,將下載jar包導(dǎo)入到j(luò)meter的lib目錄下。 參考文檔:https://www.jb51.net/article/190860.htm 1、添加測試計(jì)劃 2、添加JDBC request 3、添加JDBC connection configuration,并修改配置 1、Cannot create PoolableConnectionFactory (Communications link fai

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

    locust性能測試和分布式壓測

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

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

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

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

    2024年02月19日
    瀏覽(45)
  • 壓力測試(QPS)及測試工具Locust

    通常指的是確定接口或服務(wù)能夠處理的最大請求量(吞吐量)和并發(fā)用戶數(shù),同時(shí)保持合理的響應(yīng)時(shí)間和穩(wěn)定性。 最大吞吐量:系統(tǒng)每秒可以處理的請求數(shù)。 最大并發(fā)用戶數(shù):系統(tǒng)可以同時(shí)支持的用戶數(shù)。 響應(yīng)時(shí)間:系統(tǒng)響應(yīng)請求的時(shí)間。 穩(wěn)定性和可靠性:在高負(fù)載下系統(tǒng)

    2024年04月10日
    瀏覽(36)
  • Locust:分布式負(fù)載測試工具的利器

    引言: 在軟件開發(fā)過程中,負(fù)載測試是確保系統(tǒng)能夠承受高并發(fā)訪問的重要環(huán)節(jié)。然而,傳統(tǒng)的負(fù)載測試工具往往無法滿足大規(guī)模并發(fā)測試的需求。為了解決這一問題,Locust應(yīng)運(yùn)而生。本文將介紹Locust的特點(diǎn)、使用方法以及其在分布式負(fù)載測試中的應(yīng)用,幫助讀者了解并掌握

    2024年02月03日
    瀏覽(18)
  • KVM性能測試工具簡單介紹 —— 筑夢之路

    虛擬化性能測試包括的范圍 1)對cpu、內(nèi)存、網(wǎng)絡(luò)、磁盤IO性能測試; 2)虛擬機(jī)客戶動(dòng)態(tài)遷移時(shí)性能測試; 3)多種物理平臺(tái)上的性能測試; 4)多個(gè)虛擬客戶機(jī)運(yùn)行在同一宿主機(jī)上時(shí)的性能測試。 性能測試指標(biāo) 1)響應(yīng)時(shí)間(response time) 2)吞吐量(throughput) 3)并發(fā)用戶數(shù)

    2024年02月08日
    瀏覽(29)
  • 性能測試工具 IxChariot:Tcl腳本調(diào)用方法介紹

    性能測試工具 IxChariot:Tcl腳本調(diào)用方法介紹

    ixChariot是一款功能強(qiáng)大的性能測試軟件,可用來測試有線和無線性能,可以模擬真實(shí)應(yīng)用程序流量,并提供關(guān)鍵性能指標(biāo),包括吞吐量、丟包、抖動(dòng)、延遲、MOS等。本文簡單介紹如何使用IxChariot Tcl API來實(shí)現(xiàn)自動(dòng)化跑流。 一個(gè)基本的IxChariot測試網(wǎng)絡(luò)主要包括三個(gè)部分: IxCha

    2024年02月08日
    瀏覽(37)
  • TPC-DS工具介紹及性能測試

    TPC-DS工具介紹及性能測試

    TPC-DS:https://www.cnblogs.com/webDepOfQWS/p/10544528.html 由于原生態(tài)工具生產(chǎn)測試數(shù)據(jù)表存在 bug ,后續(xù)引進(jìn) hive-testbench ,可參考: https://bbs.huaweicloud.com/blogs/260840 可在 WPS 共享文檔 https://yundoc.fin-shine.com/drive/group/442074/3256599 或 10.141.23.16 /home/appuser/hive-testbench 下載 (配置項(xiàng)及腳本已修

    2024年02月05日
    瀏覽(21)
  • 幾個(gè)影響 cpu cache 性能因素及 cache 測試工具介紹

    幾個(gè)影響 cpu cache 性能因素及 cache 測試工具介紹

    1 cache 性能及影響因素 1.1 內(nèi)存訪問和性能比較 有如下測試代碼: 該測試代碼預(yù)先分配大量內(nèi)存,并與一個(gè)數(shù)組指針管理,使其可以通過數(shù)組索引訪問該片申請內(nèi)存,接著對該內(nèi)存域進(jìn)行預(yù)讀寫,使其在測試中不受 pagefault 影響測試結(jié)果。 該測試主要的測試點(diǎn): 第一個(gè)循環(huán)按

    2024年02月14日
    瀏覽(22)
  • 性能測試,python 內(nèi)存分析工具 -memray

    性能測試,python 內(nèi)存分析工具 -memray

    Memray是一個(gè)由彭博社開發(fā)的、開源內(nèi)存剖析器;開源一個(gè)多月,已經(jīng)收獲了超8.4k的star,是名副其實(shí)的明星項(xiàng)目。今天我們就給大家來推薦這款python內(nèi)存分析神器。 Memray可以跟蹤python代碼、本機(jī)擴(kuò)展模塊和python解釋器本身中內(nèi)存分配,可以生成多種不同類型的報(bào)告,幫助您分

    2024年02月15日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包