您好,登錄后才能下訂單哦!
視頻地址:http://edu.51cto.com/lecturer/4626073.html
一、使用Jmeter分布式測試的背景:
1、GUI、非GUI的區別
首先,我們知道Jmeter有兩種運行方式,GUI、非GUI。
GUI:在Windows系統上運行,圖形化界面,方便查看測試結果,但是消耗壓力機資源較高,容易卡死,有并發限制。
非GUI:通過命令行運行,無圖形化界面,不方便查看測試結果,但是消耗壓力機資源較低,可以支持較大并發。
2、GUI、非GUI遇到的問題
Jmeter是基于java程序運行的,在windows上使用Jmeter進行性能測試時,非常耗費客戶機的CPU和內存,如果并發數稍微大一點(比如100、1000...并發),單臺電腦的配置經常無法支持,很容易卡死,即使不卡死也會使電腦運行很慢,導致我們沒辦法進行其它操作。
通過cmd命令行,或者是在Linux上使用Jmeter進行性能測試時,能夠大大縮減所需要的系統資源;但是需要將jmeter腳本上傳到Linux上使用命令行方式運行,如果腳本經常改動就要頻繁上傳;測試完成后要把結果數據下載到本地GUI環境中查看,當結果文件較大時,下載要花費大量時間,總是有很多不方便。
3、如何解決?
以上問題,都可以使用Jmeter的分布式測試功能來解決:
通過Jmeter遠程啟動功能,把一臺windows機器做為控制器,遠程控制其它多個windows或linux壓力機,從而把壓力分散到多臺機器上,實現高并發功能;并在master上收集測試結果。
二、jmeter分布式原理
jmeter的分布式控制,說的通俗一點,就是指遠程啟動功能,具體原理如下圖:
1、客戶端機器(window系統)作為一個控制器controller,控制多臺slave機器的操作。
2、Controller和slave機器上最好裝有相同版本的jdk和jmeter,并配置好環境變量,安裝和配置方法跟windows環境類似。
3、controller通過GUI界面啟動slave機器,將jmeter壓測腳本發送給每臺啟動的slave,slave獲得腳本后開始執行。slave本地不需預先存儲腳本,但是需要有腳本中的依賴文件(如csv文件等)。
4、各臺slave執行完成后,將結果傳回給controller,controller收集后整合顯示出來。
三、jmeter分布式(遠程啟動)配置
1、slave遠程機配置
slave遠程機需安裝jdk和jmeter,最好與controller上的版本保持一致,無法滿足時至少保證slave上的jmeter能正常運行(如jmeter3.0以后需要jdk1.7及以上版本)。
啟動salve機的jmeter-server
在slave的%JMETER_HOME%bin目錄下執行./jmeter-server命令啟動jmeter服務,啟動成功如下圖:
修改slave機jmeter默認端口
上圖紅框中的ip為slave機的ip地址,紅框中的端口號port為啟動 jmeter服務監聽的port,一般會有個默認端口號1099,但最好自定義,確保端口號不沖突。修改方法如下:
在slave機器的%JMETER_HOME%bin目錄下找到jmeter.properties,修改文件中server_port和server.rmi.localport,即可自定義端口號:
server_port=1029
server.rmi.localport=1029
注意這兩項必須同時修改,且一樣。
修改后執行slave的jmeter-server即可看到控制臺消息中修改是否生效;
2、控制機controller配置
在控制機上要保證執行命令能發送到遠程slave機,需要在控制機上配置遠程機的ip地址和port。
在控制機jmeter安裝目錄的bin文件夾下,找到jmeter.properties,修改配置如下圖,其中ip和port即為上一步slave的ip和port,如上圖中jmeter-server啟動時紅框中顯示的內容。多個slave機器的配置可通過逗號分隔。
remote_hosts=10.165.124.6:1029
若要添加多個slave機,重復上面的步驟即可。
3、遠程啟動和停止
配置完成后打開控制機jmeter的GUI界面,在運行-遠程啟動中即可看到自己配置的slave機器。
添加一個腳本,點擊遠程啟動即可啟動運行slave機器,此時在slave機上可看到控制臺信息,在控制機通過監聽器-聚合報告或察看結果樹可看到執行結果。
同樣的,也可以進行遠程停止操作:
需要注意的問題:
1、修改配置文件后必須重啟jmeter才能生效
2、在控制機上遠程啟動之前,必須先運行slave機的jmeter-server.bat
3、當jmeter腳本中需要依賴csv等數據文件時,該文件需上傳至slave機,并需要設置正確的路徑。
4、先配置一個slave機成功后,再依次配置多個slave機
5、當slave機是linux系統時,一般只配置一個slave機即可,除非并發特別大時,才需要配置多個slave.
6、分布式運行時,總并發數是腳本中設置的線程數 * slave機的個數,如線程數設置為10,使用3個slave機運行,則總并發數是30.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。