當前位置:首頁 » 網頁前端 » jmeter腳本並發遞增
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

jmeter腳本並發遞增

發布時間: 2023-06-28 06:48:52

1. 如何使用jmeter來實現更大批量的並發的解決方案

近期在用JMeter進行負載測試的 時候,發現使用單台機器模擬測試超過比如500個進程的並發就有些力不從心或者說不能如實的反應實際情況,在執行的過程中,JMeter自身會自動關閉,要解決這個問題,則可以使用分布式測試,運行多台機器運行所謂的 Agent 來分擔 JMeter自身的壓力(這個和LODARUNNER是一樣的道理),並藉此來獲取更大的並發用戶數,則需要進行相關的配置參數和文件許可權進行一些修改,具體如下:
1、在所有期望運行 JMeter 並作為 Load Generator 的機器上安裝 JMeter,並確定其中一台機器作為 Controller,其他的機器作為 Agent——假定我們使用兩台機器 192.168.0.1 和 192.168.0.2 作為 Agent;
2、在Controller 機器的 JMeter 安裝目錄下找到 bin 目錄,再找到 JMeter.properties 這個文件,使用記事廳拍本或者其他文字編輯工具打開它;
3、在打開的文件中查找「remote_hosts=」這個字元串,你可以找到這樣一行「remote_hosts=127.0.0.1」。其 中的 127.0..0.1 表示運行 JMeter Agent 的機扮仿羨器,這里需要修改為「remote_hosts=192.168.0.1:1099,192.168.0.2:1099」——其中的 1099 為 JMeter 的 Controller 和 Agent 之間進行通訊的默認 RMI 埠號; (個人備註:只改要作為Controller的機器上的此文件即可;Agent的機器上的文件可以不理會)
4、保存文件,然後依次啟動作為Controller的機器上的jmeter-server文件和作為Agent的機器上的jmeter-server文件(個人備註:如果是WINDOWS系統版本的jmeter,則是啟動jmeter-server.bat的批處理文件,LINUX系統則是jmeter-server文件,沒有後綴的,但是要修改為可執行許可權,這後面具體有提到),並重新啟動 Controller 機器上的 JMeter.bat,並進入 Run -> Remote Start 菜單項,在這里可以看到遠程啟動菜單下面有192.168.0.1 ,192.168.0.1兩個IP地址
5、如果要讓某個電腦執行,可以點擊改電腦的IP地址就可以,如果兩個都要執行,可以點擊Run 菜單下的「遠程運行全部」菜單
6、有時候用作代理的機器太少,仍不能滿足需要,則需要將作為Controller的電腦也當作Agent,則同樣需要修改 JMeter.properties文件,將Controller的IP地址寫入。同時,這個時候,需要打先打開Controller 電腦中JMeter下bin目錄下的jmeter-server.bat,然後再打開JMeter.bat,此時,進入Run -> Remote Start菜單,可以看到Controller也作為遠程機器進行運行。 (針對第大清六點我個人經過實地測試後要進行細化確認:如果是在LINUX下,此文件的許可權都還是要修改的,且jmeter-server會調用名為jmeter腳本文件,其jmeter文件的許可權也要修改為可執行的才可以,且每個被調用的Agent的機器的jmeter-server文件也是要執行中才可用調用,這點很重要。)。

/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0 7px 0 7px; mso-para-margin:0; mso-para-margin-bottom:0; mso-pagination:widow-orphan; font-size:14px; mso-bidi-font-size:15px; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1px;}

2. JMeter 介面/並發/性能測試(詳盡版)

        Jmter工具設計之初是用於做性能測試的,它在實現對各種介面的調用方面已經做的比較成熟,因此,本次直接使用Jmeter工具來完成對Http介面的測試。因為再做介面測試時可以設置線程組,所以也可做介面性能測試。

        本篇使用JMeter完成了一個完整的Http介面性能測試流程,從腳本編寫(工具化生成),執行到最終結果分析。

> 介面地址 :我們選取最常見的網路搜索介面:https://www..com/s?ie=utf-8&&wd=新聞

            ie:編碼方式,默認為utf-8

            wd: 搜索詞

> 返回結果判斷 (斷言):

            搜索結果,我們可以通過校驗結果中是否含有搜索詞wd來判斷本次請求成功或失敗。

> 依次進行如下操作:1) 添加線程組           2)添加請求&http消息頭管理器          3)添加結果監聽器(察看結果樹 )   

                                    4)添加用戶自定義變數        *)添加定時器(集合點)

                                    5)添加請求的斷言    6)添加斷言結果    7)添加聚合報告    8)執行  

                                    9)結果分析(分析測試報告)

1) 添加線程組

        添加虛擬用戶組(Thread Group),這些虛擬用戶用來模擬訪問被測系統

        一個 線程組(Thread Group) 等於 一組虛擬用戶(virtual users group) ,

         一個Java線程  等於   一個用戶

2)添加請求、添加 http消息頭管理器

2.1)添加請求

        接下來的一步就是要加入實際被測頁面,右擊「線程組」 > 「添加」 > 「Sampler」 > 「HTTP請求」。

        ps: 參數,用於get 或put請求;消息體數據用於post    請求; -----很重要,很容易出錯!

2.2)http消息頭管理器

3)添加察看結果樹

        添加結果監聽器(察看結果樹 ),  「監聽器」讓用戶來觀察測試結果

        運行後點擊左側觀察結果數,查看請求執行結果,紅色為失敗,綠色為成功,如下圖:

4)添加用戶自定義變數  &集合點

用戶自定義變數 -,需要再HTTP請求處,手動修改請求中為變數形式 ${wd}

*)添加集合點

 5)添加請求的斷言    6)添加斷言結果    

7)添加聚合報告    

8)執行  

至此,就完成了一個完整Http介面的JMeter性能測試腳本編寫,點擊運行即可

>查看運行日誌,   「選項」 > 「Log Viewer」看看運行的日誌。如果你還是看不到日誌,你可以點擊下面所示的三角箭頭展開或者收起日誌視圖

9)結果分析(分析測試報告)

待性能測試執行完成後,打開聚合報告可以看到: 

10) 腳本查看

        可以使用編輯器查看.jmx文件,如下圖所示: