JMeter使用技巧

發表于:2013-08-12來源:博客園作者:蟲師點擊數: 標簽:jmeter
在這此對新版本jmeter的學習+溫習的過程,發現了一些以前不知道的功能,所以,整理出來與大分享。本文內容如下。 如何使用英文界面的jmeter

  在這此對新版本jmeter的學習+溫習的過程,發現了一些以前不知道的功能,所以,整理出來與大分享。本文內容如下。

  如何使用英文界面的jmeter

  如何使用鏡像服務器

  Jmeter分布式測試

  啟動Debug 日志記錄

  搜索功能

  線程之間傳遞變量

  如何使用英文界面的JMeter

  Jmeter啟動時會自動判斷操作系統的locale 并選擇合適的語言啟動,所以,我們啟動jmeter后,其會出現一個倍感親切的中文界面。但由于jmeter本身的漢化工作做得不好,你會看到有未被漢化的選項及元件的參數。而且部分翻譯并不準確,因此對于英文比較好的牛人來說更喜歡純正的英文界面。

  強制以英文方式啟動jmeter的方法如下:

  在windows環境下,打開jmeter解壓目錄,bin目錄下的jmeter.bat文件,也就是jmeter程序的啟動文件,選擇記事本方式打開。做以下修改:

復制代碼

  .................

  set HEAP=-Xms512m -Xmx512m

  set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m

  set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%

  set TENURING=-XX:MaxTenuringThreshold=2

  set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000

  set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m

  set LOCALE=-Duser.language=en -Duser.region=rem set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution

  .........

  rem Server mode

  rem Collect the settings defined above

  set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %RMIGC% %PERM% %DDRAW% %LOCALE%

  .............

復制代碼

  暈死,當我上面介紹了那么多后,在最新的2.8版本,我無意中發現了這個功能。

  如何使用鏡像服務器

  在調試和修改測試計劃的過程中,通常會為采樣器增加一些額外的設置,例何設置額外的HTTP頭、cookie管理器或認證管理器等,但當設置了這些內容后,sampler發出的請求是否就與預期的完全一支呢?

  當然用戶可以通過添加監聽器來看查采樣器發出的HTTP請求,但如果調試過程中并不想真正地把請求發送給被測應用,如何解決這個問題呢?

  Jmeter 提供了一個名叫HTTP Mirror Server的組件,HTTP Mirror Server可以啟動一個鏡像的服務器,該服務器把所有接收到的請求原封不動地返回,這樣就可以看到發出請求的具體內容了。

  添加HTTP Mirror Server的方式:

  右鍵點擊“工作臺”--->非測試元件--->HTTP Mirror Server

  如果有必要的話需要修改端口號,點擊“啟動”按鈕來啟動Server 。

  接下來修改采樣器,使其將HTTP請求 發送到localhost:8081(也就是Mirror Server啟動的位置)

  然后,運行測試計劃,則可以從監聽器“查看結果樹”中看到響應數據。

  JMeter分布式測試

  Jmeter 是java 應用,對于CPU和內存的消耗比較大,因此,當需要模擬數以千計的并發用戶時,使用單臺機器模擬所有的并發用戶就有些力不從心,甚至會引起JAVA內存溢出錯誤。為了讓jmeter工具提供更大的負載能力,jmeter短小精悍一有了使用多臺機器同時產生負載的機制。

  那么,是如何實現多臺負載機同時運行的呢?當然不會多個人坐在多臺負載機面前,一喊開始,大家同時啟動jmeter。這種方式很笨,也很難達到真正的同步。其實,我們通過單個jmeter 客戶端就可以控制多個遠程的jmeter服務器,使它們同步的對服務器進行壓力測試。

  通過遠程運行jmeter,測試人員可以跨越多臺低端計算機復制測試,這樣就可以模擬一個比較大的服務器壓力,一個jmeter客戶端實例,理論上可以控制任意多的遠程jmeter實例,并通過他們收集測試數據。這樣一樣,就有了如下特性:

  * 保存測試采樣數據到本地機器

  * 通過單臺機器管理多個jmeter執行引擎。

  * 沒有必要將測試計劃復制到每一臺機器,jmeter GUI客戶端會將它發往每一臺jmeter服務器。

  * 每一臺jmeter遠程服務器都執行相同的測試計劃,jmeter不會在執行期間做負載均衡,每一臺服務器都會完整地運行測試計劃。

  在1.4G Hz~3GHz 的CPU 、1GB 內存的 JMeter 客戶端上,可以處理線程 100~300。但是Web Service 例外。XML處理是 CPU 運算密集的,會迅速消耗掉所有的CPU 。一般來說,以XML技術為核心的應用系統,其性能將是普通Web 應用的 10%~25% 。另外,如果所有負載由一臺機器產生,網卡和交換機端口都可能產生瓶頸,所以一個JMeter 客戶端線程數不應超過 10 0 。

  采用JMeter 遠程模式并不會比獨立運行相同數目的非GUI 測試更耗費資源。但是,如果使用大量的JMeter 遠程服務器,可能會導致客戶端過載,或者網絡連接發生擁塞。

原文轉自:http://www.cnblogs.com/fnng/archive/2012/12/29/2839420.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97