日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转】JMeter学习(十三)分布式部署

發(fā)布時(shí)間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】JMeter学习(十三)分布式部署 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Jmeter?是Java?應(yīng)用,對(duì)于CPU和內(nèi)存的消耗比較大,因此,當(dāng)需要模擬數(shù)以千計(jì)的并發(fā)用戶時(shí),使用單臺(tái)機(jī)器模擬所有的并發(fā)用戶就有些力不從心,甚至?xí)餔AVA內(nèi)存溢出錯(cuò)誤。為了讓jmeter工具提供更大的負(fù)載能力,jmeter短小精悍一有了使用多臺(tái)機(jī)器同時(shí)產(chǎn)生負(fù)載的機(jī)制。

  那么,是如何實(shí)現(xiàn)多臺(tái)負(fù)載機(jī)同時(shí)運(yùn)行的呢?當(dāng)然不會(huì)多個(gè)人坐在多臺(tái)負(fù)載機(jī)面前,一喊開始,大家同時(shí)啟動(dòng)jmeter。這種方式很笨,也很難達(dá)到真正的同步。其實(shí),我們通過(guò)單個(gè)jmeter?客戶端就可以控制多個(gè)遠(yuǎn)程的jmeter服務(wù)器,使它們同步的對(duì)服務(wù)器進(jìn)行壓力測(cè)試。

通過(guò)遠(yuǎn)程運(yùn)行jmeter,測(cè)試人員可以跨越多臺(tái)低端計(jì)算機(jī)復(fù)制測(cè)試,這樣就可以模擬一個(gè)比較大的服務(wù)器壓力,一個(gè)jmeter客戶端實(shí)例,理論上可以控制任意多的遠(yuǎn)程jmeter實(shí)例,并通過(guò)他們收集測(cè)試數(shù)據(jù)。這樣一樣,就有了如下特性:

*???保存測(cè)試采樣數(shù)據(jù)到本地機(jī)器

*???通過(guò)單臺(tái)機(jī)器管理多個(gè)jmeter執(zhí)行引擎。

*???沒有必要將測(cè)試計(jì)劃復(fù)制到每一臺(tái)機(jī)器,jmeter?GUI客戶端會(huì)將它發(fā)往每一臺(tái)jmeter服務(wù)器。

*???每一臺(tái)jmeter遠(yuǎn)程服務(wù)器都執(zhí)行相同的測(cè)試計(jì)劃,jmeter不會(huì)在執(zhí)行期間做負(fù)載均衡,每一臺(tái)服務(wù)器都會(huì)完整地運(yùn)行測(cè)試計(jì)劃。

?

  在1.4G?Hz~3GHz?的CPU?、1GB?內(nèi)存的?JMeter?客戶端上,可以處理線程?100~300。但是Web?Service?例外。XML處理是?CPU?運(yùn)算密集的,會(huì)迅速消耗掉所有的CPU?。一般來(lái)說(shuō),以XML技術(shù)為核心的應(yīng)用系統(tǒng),其性能將是普通Web?應(yīng)用的?10%~25%?。另外,如果所有負(fù)載由一臺(tái)機(jī)器產(chǎn)生,網(wǎng)卡和交換機(jī)端口都可能產(chǎn)生瓶頸,所以一個(gè)JMeter?客戶端線程數(shù)不應(yīng)超過(guò)?100?。?

  采用JMeter?遠(yuǎn)程模式并不會(huì)比獨(dú)立運(yùn)行相同數(shù)目的非GUI?測(cè)試更耗費(fèi)資源。但是,如果使用大量的JMeter?遠(yuǎn)程服務(wù)器,可能會(huì)導(dǎo)致客戶端過(guò)載,或者網(wǎng)絡(luò)連接發(fā)生擁塞。

?

使用多臺(tái)機(jī)器產(chǎn)生負(fù)載的操作步驟如下

(1)在所有期望運(yùn)行jmeter作為?負(fù)載生成器的機(jī)器上安裝jmeter,?并確定其中一臺(tái)機(jī)器作為?controller?,其他的的機(jī)器作為agent?。

(2)?運(yùn)行所有?agent?機(jī)器上的jmeter-server?文件(假定使用兩臺(tái)機(jī)器192.168.9.99 和192.168.9.130 作為agent)

(3)在controller機(jī)器的jmeter的bin目錄下,找到j(luò)meter.properties?文件,編輯該文件:

查找: remote_hosts=127.0.0.1 修改為: remote_hosts=192.168.9.99:1099,192.168.9.130:1099

這里要特別注意端口后,有些資料說(shuō)明端口1644為jmeter的controller?和agent?之間進(jìn)行通信的默認(rèn)RMI端口號(hào),但是在測(cè)試時(shí)發(fā)現(xiàn),設(shè)置為1644運(yùn)行不成功,改成1099后運(yùn)行通過(guò)。另外還要留意agent的機(jī)子是否開啟了防火墻等。

?

(4)啟動(dòng)controller?機(jī)子上的jmeter應(yīng)用jmeter.bat,選擇菜單“運(yùn)行”--->“遠(yuǎn)程啟動(dòng)”,來(lái)分別啟動(dòng)agent?,也可以直接選擇“遠(yuǎn)程全部啟動(dòng)”來(lái)將所有的agent啟動(dòng)。

?

?

遇到的常見問(wèn)題

1、在Controller端上控制某臺(tái)機(jī)器Run,提示"Bad call to remote host"。

解決方法:檢查被控制機(jī)器上的jmeter-server有沒有啟動(dòng),或者JMeter.properties中remote_hosts的配置錯(cuò)誤。 2、Agent機(jī)器啟動(dòng)Jmeter_server.bat時(shí),后臺(tái)提示:"could not find ApacheJmeter_core.jar" 解決方法:確定在Agent機(jī)器安裝jdk,并設(shè)置環(huán)境變量 3、遠(yuǎn)程啟動(dòng)時(shí),報(bào)錯(cuò):

ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:?
java.NET.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67)
at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:180)
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)

這個(gè)問(wèn)題終于被我解決了,其實(shí)原因好簡(jiǎn)單呀。只要將本機(jī)的jmter-server.bat執(zhí)行即可。要是在jmeter.properties配置的地方寫了127.0.0.1 的話 就要開本機(jī)的 jmeter-sever.bat. 不寫的話 就不用開了

?

4、查看1099端口是否被占用

netstat -ano | findstr "1099"
tasklist | findstr "1099"

?

?

其它說(shuō)明:

  1、調(diào)度機(jī)(master)和執(zhí)行機(jī)(slave)最好分開,由于master需要發(fā)送信息給slave并且會(huì)接收slave回傳回來(lái)的測(cè)試數(shù)據(jù),所以mater自身會(huì)有消耗,所以建議單獨(dú)用一臺(tái)機(jī)器作為mater。

  2、參數(shù)文件:如果使用csv進(jìn)行參數(shù)化,那么需要把參數(shù)文件在每臺(tái)slave上拷一份且路徑需要設(shè)置成一樣的。

  3、每臺(tái)機(jī)器上安裝的Jmeter版本和插件最好都一致,否則會(huì)出一些意外的問(wèn)題。

轉(zhuǎn)載于:https://www.cnblogs.com/perfectwang/p/7235189.html

總結(jié)

以上是生活随笔為你收集整理的【转】JMeter学习(十三)分布式部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。