Jmeter分佈式運行

Jmeter分佈式運行

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

那麼,是如何實現多臺負載機同時運行的呢?我們通過單個jmeter 客戶端就可以控制多個遠程的jmeter服務器,使它們同步的對服務器進行壓力測試。

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


利用4臺linux測試機部署jmeter:

1.安裝jdk,運行jmeter一定要安裝1.6以上版本的jdk並正確配置環境變量;

2.將Jmeter打包後放在指定的目錄,所有期望運行jmeter的機器都要安裝;

3.定義A服務器:控制機Controller,B、C、D服務器爲負載機Agent;

4.首先在bin目錄下 啓動B、C、D服務器 jmeter的jmeter-server服務器,jmeter-server正常啓動會提示"創建遠程服務";

5.準備測試腳本,可以在windows環境下先創建jmx文件,主意最好不要添加監聽器,因爲命令行啓動的話監聽器可能會佔用資源而且有沒有任何視圖效果.

6.將生成好的jmx文件上傳到A服務器 jmeter目錄的bin目錄下,然後在bin目錄下創建xx.jtl文件.jtl文件用來接收測試中產生的測試結果

7.進bin目錄 打入啓動命令,也可以用絕對路徑來運行啓動命令

./jmeter -n -t xx.jmx -R B服務器ip,C服務器ip,D服務器ip -l $jmeterpath/bin/xx.jtl

參數說明 :

-n  告訴jmeter使用nogui模式運行測試

-t  執行的測試腳本名

-R  後面跟隨負載機的ip地址 ,注意用逗號隔開

-l  後面跟着測試結果記錄的路徑與文件名,主意這個文件jmeter不會自己創建,請預先創建好,

8.測試完成後把xx.jtl文件下載到windows機上在不同的監聽器上分析測試結果

如果想修改測試腳本,起始也不必把腳本在windows機上打開gui界面修改,直接編輯.jmx文件 你就可以看到許多熟悉的名字,這裏就簡單介紹幾個

        </elementProp>

        <stringProp name="ThreadGroup.num_threads">5</stringProp>

        <stringProp name="ThreadGroup.ramp_time">5</stringProp>

        <longProp name="ThreadGroup.start_time">1281132211000</longProp>

        <longProp name="ThreadGroup.end_time">1281132211000</longProp>

        <boolProp name="ThreadGroup.scheduler">true</boolProp>

        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>

        <stringProp name="ThreadGroup.duration">60</stringProp>

        <stringProp name="ThreadGroup.delay">5</stringProp>

      </ThreadGroup>

ThreadGroup.num_threads 線程數

ThreadGroup.ramp_time   全部線程啓動完成的時間

ThreadGroup.duration    測試的持續時間


windows下運行部署jmeter:

windows下部署和linux下大致相同,不同的地方有幾點,如下:

1.在controller機器的jmeter的bin目錄下,找到jmeter.properties 文件,編輯該文件:

找到 remote_hosts=127.0.0.1 將後面的ip地址寫成負載的機器ip,以逗號進行分割,如192.168.0.1:1099,192.168.0.2:1099,其中的 1099 爲  JMeter  的 Controller 和 Agent 之間進行通訊的默認 RMI 端口號;

2.啓動controller 機子上的jmeter應用jmeter.bat,選擇菜單“運行”--->“遠程啓動”,來分別啓動agent ,也可以直接選擇“遠程全部啓動”來將所有的agent啓動。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章