視頻地址:http://edu.51cto.com/lecturer/4626073.html
為宣州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及宣州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、做網(wǎng)站、宣州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
一、使用Jmeter分布式測試的背景:
1、GUI、非GUI的區(qū)別
首先,我們知道Jmeter有兩種運(yùn)行方式,GUI、非GUI。
GUI:在Windows系統(tǒng)上運(yùn)行,圖形化界面,方便查看測試結(jié)果,但是消耗壓力機(jī)資源較高,容易卡死,有并發(fā)限制。
非GUI:通過命令行運(yùn)行,無圖形化界面,不方便查看測試結(jié)果,但是消耗壓力機(jī)資源較低,可以支持較大并發(fā)。
2、GUI、非GUI遇到的問題
Jmeter是基于java程序運(yùn)行的,在windows上使用Jmeter進(jìn)行性能測試時,非常耗費客戶機(jī)的CPU和內(nèi)存,如果并發(fā)數(shù)稍微大一點(比如100、1000...并發(fā)),單臺電腦的配置經(jīng)常無法支持,很容易卡死,即使不卡死也會使電腦運(yùn)行很慢,導(dǎo)致我們沒辦法進(jìn)行其它操作。
通過cmd命令行,或者是在Linux上使用Jmeter進(jìn)行性能測試時,能夠大大縮減所需要的系統(tǒng)資源;但是需要將jmeter腳本上傳到Linux上使用命令行方式運(yùn)行,如果腳本經(jīng)常改動就要頻繁上傳;測試完成后要把結(jié)果數(shù)據(jù)下載到本地GUI環(huán)境中查看,當(dāng)結(jié)果文件較大時,下載要花費大量時間,總是有很多不方便。
3、如何解決?
以上問題,都可以使用Jmeter的分布式測試功能來解決:
通過Jmeter遠(yuǎn)程啟動功能,把一臺windows機(jī)器做為控制器,遠(yuǎn)程控制其它多個windows或linux壓力機(jī),從而把壓力分散到多臺機(jī)器上,實現(xiàn)高并發(fā)功能;并在master上收集測試結(jié)果。
二、jmeter分布式原理
jmeter的分布式控制,說的通俗一點,就是指遠(yuǎn)程啟動功能,具體原理如下圖:
1、客戶端機(jī)器(window系統(tǒng))作為一個控制器controller,控制多臺slave機(jī)器的操作。
2、Controller和slave機(jī)器上最好裝有相同版本的jdk和jmeter,并配置好環(huán)境變量,安裝和配置方法跟windows環(huán)境類似。
3、controller通過GUI界面啟動slave機(jī)器,將jmeter壓測腳本發(fā)送給每臺啟動的slave,slave獲得腳本后開始執(zhí)行。slave本地不需預(yù)先存儲腳本,但是需要有腳本中的依賴文件(如csv文件等)。
4、各臺slave執(zhí)行完成后,將結(jié)果傳回給controller,controller收集后整合顯示出來。
三、jmeter分布式(遠(yuǎn)程啟動)配置
1、slave遠(yuǎn)程機(jī)配置
slave遠(yuǎn)程機(jī)需安裝jdk和jmeter,最好與controller上的版本保持一致,無法滿足時至少保證slave上的jmeter能正常運(yùn)行(如jmeter3.0以后需要jdk1.7及以上版本)。
啟動salve機(jī)的jmeter-server
在slave的%JMETER_HOME%bin目錄下執(zhí)行./jmeter-server命令啟動jmeter服務(wù),啟動成功如下圖:
修改slave機(jī)jmeter默認(rèn)端口
上圖紅框中的ip為slave機(jī)的ip地址,紅框中的端口號port為啟動 jmeter服務(wù)監(jiān)聽的port,一般會有個默認(rèn)端口號1099,但最好自定義,確保端口號不沖突。修改方法如下:
在slave機(jī)器的%JMETER_HOME%bin目錄下找到j(luò)meter.properties,修改文件中server_port和server.rmi.localport,即可自定義端口號:
server_port=1029
server.rmi.localport=1029
注意這兩項必須同時修改,且一樣。
修改后執(zhí)行slave的jmeter-server即可看到控制臺消息中修改是否生效;
2、控制機(jī)controller配置
在控制機(jī)上要保證執(zhí)行命令能發(fā)送到遠(yuǎn)程slave機(jī),需要在控制機(jī)上配置遠(yuǎn)程機(jī)的ip地址和port。
在控制機(jī)jmeter安裝目錄的bin文件夾下,找到j(luò)meter.properties,修改配置如下圖,其中ip和port即為上一步slave的ip和port,如上圖中jmeter-server啟動時紅框中顯示的內(nèi)容。多個slave機(jī)器的配置可通過逗號分隔。
remote_hosts=10.165.124.6:1029
若要添加多個slave機(jī),重復(fù)上面的步驟即可。
3、遠(yuǎn)程啟動和停止
配置完成后打開控制機(jī)jmeter的GUI界面,在運(yùn)行-遠(yuǎn)程啟動中即可看到自己配置的slave機(jī)器。
添加一個腳本,點擊遠(yuǎn)程啟動即可啟動運(yùn)行slave機(jī)器,此時在slave機(jī)上可看到控制臺信息,在控制機(jī)通過監(jiān)聽器-聚合報告或察看結(jié)果樹可看到執(zhí)行結(jié)果。
同樣的,也可以進(jìn)行遠(yuǎn)程停止操作:
需要注意的問題:
1、修改配置文件后必須重啟jmeter才能生效
2、在控制機(jī)上遠(yuǎn)程啟動之前,必須先運(yùn)行slave機(jī)的jmeter-server.bat
3、當(dāng)jmeter腳本中需要依賴csv等數(shù)據(jù)文件時,該文件需上傳至slave機(jī),并需要設(shè)置正確的路徑。
4、先配置一個slave機(jī)成功后,再依次配置多個slave機(jī)
5、當(dāng)slave機(jī)是linux系統(tǒng)時,一般只配置一個slave機(jī)即可,除非并發(fā)特別大時,才需要配置多個slave.
6、分布式運(yùn)行時,總并發(fā)數(shù)是腳本中設(shè)置的線程數(shù) * slave機(jī)的個數(shù),如線程數(shù)設(shè)置為10,使用3個slave機(jī)運(yùn)行,則總并發(fā)數(shù)是30.
名稱欄目:jmeter學(xué)習(xí)指南之分布式測試的來龍去脈
URL標(biāo)題:http://chinadenli.net/article0/gpdhoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、定制網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)