您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源性能測(cè)試工具 > Jmeter
性能測(cè)試之JMeter遠(yuǎn)程模式
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2016/9/14 13:50:29 ] 推薦標(biāo)簽:性能測(cè)試工具 Jmeter

  使用不同的端口號(hào)
  默認(rèn)情況下,JMeter使用標(biāo)準(zhǔn)RMI的端口 1099 。是可以改變的。為了達(dá)到這個(gè)目的,下面所有的都是執(zhí)行:
  · 在服務(wù)器上,使用新的端口號(hào)來(lái)啟動(dòng) rmiregistry
  · 在服務(wù)器上,使用服務(wù)器定義的端口號(hào)來(lái)啟動(dòng) JMeter
  · 在客戶端上,更新 remote_hosts 屬性包括新的 host:port 設(shè)置
  自JMeter2.1.1版本后,JMeter服務(wù)端腳本提供支持變更端口。比如,假設(shè)你想使用 1664 ( 1099 已被占用)
  在Windows電腦中(命令行)
  C:JMETER>SETSERVER_PORT=1664
  C:JMETER> JMETER-SERVER [other options]
  在Unix電腦中
  $SERVER_PORT=1664jmeter-server [otheroptions]
  [環(huán)境變量使用大寫字母]
  在上面兩種情況下,在特殊的端口使用腳本啟動(dòng) rmiregistry ,接著通過(guò)已經(jīng)定義的 server_port 屬性在服務(wù)端啟動(dòng)JMeter。
  可選端口號(hào)將會(huì)被輸出在服務(wù)器的 jmeter.log 文件中( rmiregistry 不會(huì)創(chuàng)建日志文件)。
  使用不同的測(cè)試樣例
  在測(cè)試計(jì)劃中,監(jiān)聽器發(fā)送他們的結(jié)果至默認(rèn)的JMeter客戶端。通過(guò)情況下,樣例結(jié)果將會(huì)在生成的時(shí)候同時(shí)返回。這個(gè)將會(huì)影響服務(wù)器的大吞吐量;樣例結(jié)果在線程繼續(xù)時(shí)必須返回所有的結(jié)果。有一些JMeter屬性可以改變這個(gè)功能。
  mode
  樣例發(fā)送模式-在2.9版本默認(rèn)采用是 StrippedBatch。這個(gè)將會(huì)被發(fā)送至客戶端結(jié)點(diǎn)。
  · Standard : 在生成樣例后即發(fā)送結(jié)果
  · Hold : 保存樣例至數(shù)組中直到運(yùn)行結(jié)束。這個(gè)將會(huì)使用大量的內(nèi)存在服務(wù)器端,不推薦使用。
  · DiskStore : 存儲(chǔ)樣例在磁盤文件中( java.io.temp 文件夾下)直到運(yùn)行結(jié)束。JVM退出時(shí),這個(gè)文件將會(huì)被刪除。
  · StrippedDiskStore : 從返回?cái)?shù)據(jù)中刪除成功的數(shù)據(jù),并使用 DiskStore 發(fā)送
  · Batch : 發(fā)送保存的樣例當(dāng)數(shù)量( num_sample_threshold )或時(shí)間( time_threshold )達(dá)到一個(gè)閥值,在這個(gè)閥點(diǎn)時(shí)將同步發(fā)送樣例。這個(gè)值可以在服務(wù)器的下列屬性中配制:
    · num_sample_threshold : 樣例累積數(shù),默認(rèn) 100
    · time_threshold : 時(shí)間值,默認(rèn)是 60000毫秒 = 60秒
  異步模式的使用,在下面。
  · Statistical : 發(fā)送概要樣例當(dāng)數(shù)量或時(shí)間達(dá)到閥值。樣例將被歸整通過(guò)線程組名和樣例標(biāo)簽。下面是可以歸整的屬性:
  elapsed time
  latency
  bytes
  sample count
  error count
  · Stripped : 從返回?cái)?shù)據(jù)中刪除成功的樣例
  · StrippedBatch : 從返回?cái)?shù)據(jù)中刪除成功的樣例,并使用 Batch 發(fā)送
  · Asynch : 樣例被臨時(shí)存儲(chǔ)在本地隊(duì)列中。一個(gè)單獨(dú)的工作線程發(fā)送樣例。這樣不需要測(cè)試線程等待結(jié)果發(fā)送至客戶端。然而,如果線程的創(chuàng)建速度比發(fā)送速度快,消息隊(duì)列將會(huì)終被填滿,樣例線程會(huì)被堵塞直到樣例被從隊(duì)列中清理完全。這個(gè)模式比較適用于平滑的樣例測(cè)試。消息隊(duì)列的大小可以在服務(wù)器端調(diào)節(jié)通過(guò)JMeter的屬性 asynch.batch.queue.size (默認(rèn) 100 )。
  · StrippedAsynch : 從返回?cái)?shù)據(jù)中刪除成功的樣例,并使用 Asynch 發(fā)送
  · Custom implementation : 配制模式參數(shù)至你的自定義樣例類名中。這個(gè)必須繼承接口 SampleSender 并且有一個(gè)獨(dú)立參數(shù)類型為 RemoteSampleListener 的構(gòu)造方法。
  Stripped`模式會(huì)包括`responseData`流,因此一些元素前置`responseData`將能正常工作。
  這不是真正的問(wèn)題,將會(huì)有更有效的方法來(lái)增加這個(gè)特性。
  下面的屬性應(yīng)用于 Batch 和 Statistical 模式:
  num_sample_threshold設(shè)置的樣例數(shù)(默認(rèn)為 100 )
  time_threshold設(shè)置時(shí)間值(默認(rèn) 60秒 )
  處理節(jié)點(diǎn)啟動(dòng)失敗
  針對(duì)大數(shù)量級(jí)的測(cè)試,有一種情況是部分遠(yuǎn)程服務(wù)會(huì)不可用或無(wú)法啟動(dòng)。比如,當(dāng)你使用自動(dòng)化腳本來(lái)定位大量的云機(jī)器并使用作為并發(fā)機(jī)器,一些請(qǐng)求機(jī)器也許會(huì)失敗因?yàn)橐恍┰频膯?wèn)題。自JMeter2.13后,有一些新的屬性來(lái)控制這種行為。
  首先,你應(yīng)該嘗試重試初始化在那些僅是因?yàn)檠訒r(shí)啟動(dòng)。為了確保重試,你應(yīng)該設(shè)置 client.tries 屬性來(lái)設(shè)置總的嘗試次數(shù)。默認(rèn)情況下僅會(huì)嘗試一次。為了控制重試延遲,設(shè)置 client.retries_delay 屬性來(lái)控制在等待嘗試的時(shí)間間隔(毫秒)。
  后,你應(yīng)該繼續(xù)運(yùn)行使用這些并發(fā)機(jī)器測(cè)試,并成功初始化且跳過(guò)失敗的節(jié)點(diǎn)。為了使這個(gè)可用,設(shè)置 client.continue_on_fail=true 屬性。

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd