qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          JMeter遠(yuǎn)程測(cè)試,每個(gè)實(shí)際測(cè)試人員都要學(xué)習(xí)的

          詳解JMeter遠(yuǎn)程測(cè)試(1)
            如果運(yùn)行JMeter客戶(hù)端的機(jī)器性能不能滿(mǎn)足測(cè)試需要,那么測(cè)試人員可以通過(guò)單個(gè)JMeter GUI客戶(hù)端來(lái)控制多個(gè)遠(yuǎn)程JMeter服務(wù)器,以便對(duì)服務(wù)器進(jìn)行壓力測(cè)試,模擬足夠多的并發(fā)用戶(hù)。通過(guò)遠(yuǎn)程運(yùn)行JMeter,測(cè)試人員可以跨越多臺(tái)低端計(jì)算機(jī)復(fù)制測(cè)試,這樣就可以模擬一個(gè)比較大的服務(wù)器壓力。一個(gè)JMeter GUI客戶(hù)端實(shí)例,理論上可以控制任意多的遠(yuǎn)程JMeter實(shí)例,并通過(guò)它們收集測(cè)試數(shù)據(jù),如圖11-3所示。這樣一來(lái),就有了如下特性:
            保存測(cè)試采樣數(shù)據(jù)到本地機(jī)器。
            通過(guò)單臺(tái)機(jī)器管理多個(gè)JMeter執(zhí)行引擎。
            沒(méi)有必要將測(cè)試計(jì)劃復(fù)制到每一臺(tái)機(jī)器,JMeter GUI客戶(hù)端會(huì)將它發(fā)往每一臺(tái)JMeter服務(wù)器。
            每一臺(tái)JMeter遠(yuǎn)程服務(wù)器都執(zhí)行相同的測(cè)試計(jì)劃。JMeter不會(huì)在執(zhí)行機(jī)間做負(fù)載均衡,每一臺(tái)服務(wù)器都會(huì)完整地運(yùn)行測(cè)試計(jì)劃。
            在1.4GHz~3GHz的CPU、1GB內(nèi)存的JMeter客戶(hù)端上,可以處理線(xiàn)程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客戶(hù)端線(xiàn)程數(shù)不應(yīng)超過(guò)100。
            采用JMeter遠(yuǎn)程模式并不會(huì)比獨(dú)立運(yùn)行相同數(shù)目的非GUI測(cè)試更耗費(fèi)資源。但是,如果使用大量的JMeter遠(yuǎn)程服務(wù)器,可能會(huì)導(dǎo)致客戶(hù)端過(guò)載,或者網(wǎng)絡(luò)連接發(fā)生擁塞。
            請(qǐng)注意,假如測(cè)試人員將JMeter執(zhí)行引擎安裝在應(yīng)用服務(wù)器(測(cè)試目標(biāo))上,那么這顯然會(huì)加重應(yīng)用服務(wù)器的負(fù)擔(dān),測(cè)試結(jié)果也將變得不可信。作者推薦的方式是將JMeter遠(yuǎn)程服務(wù)器放在應(yīng)用服務(wù)器(測(cè)試目標(biāo))所在的同一個(gè)網(wǎng)段內(nèi)。這樣做既可以減少JMeter收集測(cè)試結(jié)果對(duì)網(wǎng)絡(luò)產(chǎn)生的沖擊,又可以避免對(duì)應(yīng)用服務(wù)器(測(cè)試目標(biāo))性能產(chǎn)生影響。
            
          圖11-3 JMeter遠(yuǎn)程測(cè)試原理圖
           下面是啟動(dòng)JMeter遠(yuǎn)程測(cè)試的基本步驟:
            步驟1:配置節(jié)點(diǎn)
            確保所有節(jié)點(diǎn)(JMeter客戶(hù)端和JMeter遠(yuǎn)程服務(wù)器)運(yùn)行相同版本的JMeter。盡可能在所有操作系統(tǒng)上使用相同的Java版本。
            如果測(cè)試用到了外部數(shù)據(jù)文件,那么請(qǐng)注意這些文件不會(huì)被JMeter客戶(hù)端分發(fā),因此測(cè)試人員需要確保每臺(tái)執(zhí)行機(jī)上都保存了這些數(shù)據(jù)文件(其所在目錄也必須正確)。如果有必要,用戶(hù)可以為每臺(tái)執(zhí)行機(jī)設(shè)置不同的屬性變量,即在JMeter遠(yuǎn)程服務(wù)器上編輯user.properties或者system.properties文件。這些屬性將會(huì)在JMeter遠(yuǎn)程服務(wù)器啟動(dòng)時(shí)被識(shí)別,并有可能被應(yīng)用到測(cè)試計(jì)劃之中,從而影響測(cè)試執(zhí)行(例如,與其他遠(yuǎn)程服務(wù)器發(fā)生交互)。另外,不同的JMeter遠(yuǎn)程服務(wù)器可能會(huì)使用不同內(nèi)容的數(shù)據(jù)文件(例如,每臺(tái)服務(wù)器必須使用不同的ID,就以此來(lái)劃分?jǐn)?shù)據(jù)文件)。
            步驟2:?jiǎn)?dòng)遠(yuǎn)程服務(wù)器
            要啟動(dòng)JMeter遠(yuǎn)程節(jié)點(diǎn),請(qǐng)?jiān)趫?zhí)行機(jī)上運(yùn)行JMETER_HOME/bin/jmeter-server (UNIX)或者JMETER_HOME/bin/jmeter-server.bat(Windows)腳本。
            請(qǐng)注意,每個(gè)遠(yuǎn)程節(jié)點(diǎn)上只能運(yùn)行一個(gè)JMeter遠(yuǎn)程服務(wù)器腳本,除非采用不同的RMI端口。從JMeter 2.3.1開(kāi)始,JMeter遠(yuǎn)程服務(wù)器會(huì)自己?jiǎn)?dòng)RMI注冊(cè);用戶(hù)沒(méi)有必要單獨(dú)啟動(dòng)RMI注冊(cè)。假設(shè)測(cè)試人員一定要單獨(dú)啟動(dòng)RMI注冊(cè),可以在遠(yuǎn)程節(jié)點(diǎn)上定義JMeter屬性server.rmi.create=false。
            默認(rèn)情況下,JMeter遠(yuǎn)程服務(wù)器的RMI使用動(dòng)態(tài)端口號(hào)。這樣就會(huì)為防火墻配置帶來(lái)麻煩,因此JMeter 2.3.2及其以后的版本,會(huì)檢查JMeter屬性server.rmi.localport。如果該值非零,JMeter遠(yuǎn)程服務(wù)器就會(huì)用它來(lái)作為本地端口號(hào)。
            步驟3:將JMeter遠(yuǎn)程服務(wù)器的IP地址添加到客戶(hù)端屬性文件中
            編輯JMeter控制機(jī)的屬性文件。在/bin/jmeter.properties文件中找到屬性"remote_hosts",使用JMeter遠(yuǎn)程服務(wù)器的IP地址作為其屬性值。可以添加多個(gè)服務(wù)器的IP地址,以逗號(hào)作為分隔。
            請(qǐng)注意測(cè)試人員還可以使用-R命令行選項(xiàng)來(lái)指明將會(huì)使用的遠(yuǎn)程服務(wù)器。這與使用-r 和-Jremote_hosts={服務(wù)器列表}的效果相同。例如jmeter -Rhost1,127.0.0.1,host2。
            如果測(cè)試人員定義JMeter屬性server.exitaftertest=true,那么遠(yuǎn)程服務(wù)器在運(yùn)行完單個(gè)測(cè)試后就會(huì)退出。-Z標(biāo)志也有同樣的效果,參見(jiàn)后面的內(nèi)容。

          posted on 2014-03-14 11:04 順其自然EVO 閱讀(2156) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): jmeter and badboy

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 麻城市| 呼和浩特市| 民权县| 维西| 赫章县| 竹山县| 皮山县| 漠河县| 宁蒗| 孟村| 扶余县| 辽宁省| 乌兰察布市| 黄陵县| 叙永县| 胶南市| 土默特右旗| 壶关县| 龙胜| 钟山县| 卢湾区| 兴义市| 长兴县| 简阳市| 凤台县| 申扎县| 双辽市| 陇西县| 鹤峰县| 大厂| 嘉善县| 资源县| 石泉县| 南投县| 望城县| 秭归县| 自治县| 贞丰县| 鹤庆县| 兴业县| 成武县|