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

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

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