HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    jmeter壓測流程(jmeter壓測mq)

    發(fā)布時間:2023-04-13 17:00:44     稿源: 創(chuàng)意嶺    閱讀: 53        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于jmeter壓測流程的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    jmeter壓測流程(jmeter壓測mq)

    一、如何在容器中使用jmeter做壓測

    為什么會有這樣的需求,我也不知道,沒有需求就創(chuàng)造需求唄,直接開整:

    首先上docker.hub上看看有沒有現(xiàn)成的,關(guān)鍵字 alpine/jmeter ,一搜索果然有:

    entrypoint.sh內(nèi)容看不到,前面PATH已經(jīng)配置好,應該是直接執(zhí)行的jmeter程序。先執(zhí)行下試試:

    在服務器/tmp目錄上先放上預先準備好的測試計劃文件(可以從jmeter的桌面ui版配置好后導出),-t參數(shù)指向這個計劃文件,就可以運行起來了:

    很方便很直接,如果要生成測試報告,也可以在命令后面帶上 -l /tmp/result.jtl 或者是同時生成html頁面報告文件 -l /tmp/result.jtl -e -o /tmp/jmeter ,然后用nginx

    指向上這個 tmp/jmeter ,就可以頁面查看執(zhí)行報告了:

    那有沒有辦法讓容器一直啟動著,隨時需要壓測隨時上來敲命令就好? (不要問為什么要這樣做,就是玩兒)

    那就搞一個空運行的容器玩兒吧:

    百度告訴我,這事兒要成,關(guān)鍵命令是 tail -f /dev/null ,有點意思,那就寫DockerFile吧:

    可以看到做的事情不多,加載5.4.3的jmeter安裝包,解壓、配置,順便裝個curl測試用。

    配置完就 docker build -t jmeter:1.0 . 跑起來吧。

    build完后,輸入 docker run -it --name jmeter -v /tmp/:/tmp/ jmeter:1.0 /bin/sh 運行起來:

    直接輸入jmeter命令,可以看到是可用的,然后按照之前的命令去執(zhí)行指定測試計劃就可以了。

    二、jmeter多臺電腦一起測試怎么使用

    服務端系分提供的某接口樣例為:

    評估后可采用使用jmeter進行壓力測試的步驟為:

    啟動jmeter:在bin下點擊jmeter.bat,運行jmeter

    2. 創(chuàng)建測試計劃:

    默認啟動jmeter時會加載一個測試技術(shù)模板

    3. 保存測試計劃:修改名稱為http_demo,點擊保存,選擇保存路徑

    4. 添加線程組

    右鍵左邊樹中的測試計劃“http_demo”節(jié)點,“添 加”--->”線程組”,添加一”線程組”

    添加成功后,“http_demo”節(jié)點下多了“線程組” 節(jié)點

    5. 添加http默認請求:(用來配置公共參數(shù),不是http請求)

    右鍵線程組,選擇“添加”—〉 “配置元件”—〉“HTTP請求默認值”,點擊“HTTP請求默認值”后

    添加成功后,線程組”節(jié)點下多了“HTTP請求默認值”節(jié)點

    6. 設(shè)置“HTTP請求默認值”:

    針對本項目填寫如下,服務端的系分說明

    填寫默認請求名、服務器、默認請求路徑,保存測試計劃

    7. 添加http請求

    右鍵“http_demo”,選擇“添加”—〉 “Sampler”—〉“HTTP請求”

    添加成功后,HTTP請求默認值“XX閱讀平臺”節(jié)點下發(fā)出現(xiàn)“HTTP請求”

    8. 設(shè)置http請求

    填寫參考服務端系分:

    填寫完成,保存測試計劃

    9. 添加監(jiān)聽器:

    右鍵線程組,選擇“添加”—〉 “監(jiān)聽器”—〉“察看結(jié)果樹”

    添加成功后,“線程組”下增加了察看結(jié)果樹節(jié)點

    10. 試運行

    點擊執(zhí)行

    參看請求和響應執(zhí)行情況:執(zhí)行成功如下,檢查響應數(shù)據(jù)返回的正確性

    11. 添加圖表分析監(jiān)聽器

    12. 修改線程組的線程數(shù)等參數(shù),用于壓力測試

    13. 執(zhí)行壓力測試,參看數(shù)據(jù)

    點擊執(zhí)行后,選擇圖形結(jié)果,觀察壓力測試的數(shù)據(jù)內(nèi)容

    14. 如需要用表格查看結(jié)果

    選擇“添加”—〉 “監(jiān)聽器”—〉“用表格查看結(jié)果”

    15. 設(shè)置“用表格查看結(jié)果”的主要參數(shù):

    Configure:點擊“Configure”按鈕,在彈出的窗口中選中“Save Response Data” 項,以保存響應數(shù)據(jù)

    三、jmeter分布式壓測與no-GUi模式壓測

    一、分布式壓測

    1.分布式壓測總體結(jié)構(gòu)

           選擇一臺機器作為調(diào)度機(master),其他的機器作為測試執(zhí)行的執(zhí)行機(slave),由Contorller通過命令行將測試腳本發(fā)給slave,然后slave執(zhí)行測試,同時將測試結(jié)果發(fā)送給master。

    2.為什么需要分布式壓測

            按照一般的壓力機配置,jmeter的GUI模式下,最多支持300左右的模擬請求線程,再大的話,容易造成卡頓、無響應等情況,這是限于jmeter其本身的機制和硬件配置。有時候為了盡量模擬業(yè)務場景,需要模擬大量的并發(fā)請求,這個時候單臺壓力機就無法滿足需求。針對這種情況,jmeter的解決方案是支持分布式壓測,即將大量的模擬并發(fā)分配給多臺壓力機,來滿足這種大流量的并發(fā)請求場景。

    3.分布式壓測相關(guān)配置

    master配置(本次使用window系統(tǒng))

        jmeter.properties文件中:修改 remote_host=xxx.xxx.xx.xxx:xxx    --(slave的IP端口號,多個slave地址用“,”隔開);修改server.rmi.ssl.disable = true。

    slave配置(本次使用Mac系統(tǒng))

        jmeter.properties文件中:新增 server.rmi.localport=1099

    4.運行

        1)slave 啟動 ./jmeter-server    運行成功顯示 -- Created remote object: UnicastServerRef2 [liveRef: [endpoint:[x x x x x](local),objID:[xxxxxxxxxxx]]]

        2) master 啟動jmeter.bat,在run中選擇Remote Start 中對應的slave地址運行

        3)連接接成功,在slave中顯示 -- Starting the test on host x x x x  x @ Wed Nov 13 22:33:50 CST 2019

        4)觀察slave中bin目錄下的jmeter-server.log查看日志;觀察master中添加的聚合報告,看是否slave在運行,且將測試結(jié)果發(fā)送到master上

        5)運行結(jié)束,slave顯示 -- Finished the test on host x x x x x x x x @ Thu Nov 14 23:21:22 CST 2019

    5.此次運行遇到的問題:

        1)slave一直停留在Starting the test on host x x x x  x @ Wed Nov 13 22:33:50 CST 2019;觀察jmeter-server.log 日志顯示拒絕鏈接,導致超時(java.rmi.ConnectException: Connection refused to host: xxx.xxx; nested exception is:java.net.ConnectException: Operation timed out.... )

        解決方案

        1)檢查slave是否打開了防火墻,打開的話就將其關(guān)閉

        2)master是否有安裝虛擬機,虛擬機的網(wǎng)絡(luò)設(shè)置成了“Bridge 并勾選 Replicate physical network IP address所以在controller機器的網(wǎng)絡(luò)路由設(shè)置中,顯示的網(wǎng)絡(luò)連接為:VirtualBox Host-Oly Network;去網(wǎng)絡(luò)和internet設(shè)置--》更改適配器選項將其禁用

        3)master是否為雙網(wǎng)卡,在我的電腦--〉屬性-->設(shè)備管理器-->網(wǎng)絡(luò)適配器中,將出下圖以外的都禁用掉(本地網(wǎng)卡一般以Realtek PCIe GBE開頭; 無線網(wǎng)卡 中間帶有Wireles PCI字樣)--(本次是用這個方法解決上面的問題)

    二、簡單介紹在no-gui模式下運行的命令

    jmeter -n -t /usr/local/xxx.jmx -l xxx.jtl

    -n的意思是沒有圖形化界面運行 

    -t的意思就是指定運行哪個腳本

    -l的意思是運行結(jié)果保存哪個文件里面

    如果是將腳本文件直接存儲在bin目錄下面則直接運行命令:jmeter -n -t xxx.jmx -l xxx.jtl

    四、jmeter 分布式壓測配置Linux

    本文只講jmeter分布式壓測怎么在Linux環(huán)境下配置:

    使用分布式壓測,是因為單個壓測機并發(fā)到不到系統(tǒng)要求,所以多個壓測機同時去壓。

    一般是由一個主機(master)和幾臺壓力機(slave)組成。

    主機 主要是起到啟動和收集結(jié)果功能(當然也可以參與壓測但不建議),測試腳本jmx在這臺機器下,執(zhí)行的時候會發(fā)送給每臺壓力機。

    壓力機 主要接受主機發(fā)送的壓測腳本,同時進行壓測,并把結(jié)果回傳給主機。

    以下是本人的壓測環(huán)境,可以參考的去配置:

    都是在Linux環(huán)境下(有些是主機Windows,壓力機Linux,都是這樣配置)

    master主機:10.244.162.8

    slave壓測機(三臺):10.244.162.9,10.244.162.10,10.244.162.11

    主機ping一下壓測機,是否可以ping通,否則關(guān)閉防火墻或者多個網(wǎng)卡(一臺機器可能配置多個網(wǎng)卡多個IP,尤其是Windows當做主機)。

    jdk,jmeter安裝在主機和壓力機下,盡量版本統(tǒng)一,jmeter在這幾個機器服務都可以啟動jmeter -v,如果權(quán)限不夠到bin/目錄下,命令: chmod 777 jmeter jmeter-server jmeter.sh 。(安裝比較簡單,這里就不多贅述)

    保存。

    在apache-jmeter-5.1.1/bin下執(zhí)行./jmeter-server(代表jmeter啟動,監(jiān)聽狀態(tài),等待主機發(fā)送測試腳本和執(zhí)行命令) ,

    有些啟動命令:./jmeter-server -Djava.rmi.server.hostname=10.244.162.10(當前機器的ip),我覺得都行,沒編輯配置文件那一項這樣啟動。

    啟動就設(shè)置完成。

    如果是Windows當主機,重啟一下jmeter在運行-遠程啟動既可以看到壓測機。

    如果是Linux下主機,需要用到命令:

    我是在測試jmx腳本的目錄下執(zhí)行,這樣方便收集信息。

    sh (jmeter啟動)  -n -t (jmx腳本) -R  (壓力機ip,多個中間用英文逗號隔開) -l (test.jtl)  -e -o  (壓測報告結(jié)果html文件夾)

    sh /app/apache-jmeter-5.2.1/bin/jmeter.sh -n -t test.jmx -R 10.244.162.9,10.244.162.10 -l test.jtl  -e -o  test

    注意:主機只傳jmx給壓力機,如果壓測腳本有引用變量文件,比如csv,txt文件等是不傳的,壓力機也要有這些變量文件,復制過去存放的目錄和上面壓力機./jmeter-server啟動的目錄一致(就是你在哪個目錄啟動的就放在哪個目錄下),否則壓力機找不到變量文件,執(zhí)行會報錯或者直接結(jié)束無測試結(jié)果。

    以上就是關(guān)于jmeter壓測流程相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    NEJM在哪看(nest在哪里能看)

    jmeter壓測流程(jmeter壓測mq)

    dj網(wǎng)站排行榜第一(djmag音樂網(wǎng))

    宣傳海報創(chuàng)意(宣傳海報創(chuàng)意手繪)

    學廣告設(shè)計在哪里學(設(shè)計培訓班學費一般多少)