分布式性能測試

Jmeter分布式測試

  在使用Jmeter進行性能測試時,如果并發數比較大(比如最近項目需要支持1000并發),單臺電腦的配置(CPU和內存)可能無法支持,這時可以使用Jmeter提供的分布式測試的功能。

一、Jmeter分布式執行原理:

  1、Jmeter分布式測試時,選擇其中一臺作為調度機(master),其它機器做為執行機(slave)。

  2、執行時,master會把腳本發送到每臺slave上,slave 拿到腳本后就開始執行,slave執行時不需要啟動GUI,我理解它應該是通過命令行模式執行的。

  3、執行完成后,slave會把結果回傳給master,master會收集所有slave的信息并匯總。

?

二、執行機(slave)配置:

  1、slave機上需要安裝Jmeter,具體如何安裝這里不詳細介紹了。

  2、添加環境變量:JMETER_HOME=D:\B_TOOLS\apache-jmeter-2.13,此處為你Jmeter的路徑

  3、啟動bin目錄下的:jmeter-server.bat,啟動成功如下圖:

  

  4、上圖上標紅的IP和端口會在master里配置時用到。IP就是slave機器IP,端口默認是1099,端口也可以自定義,這里我自定義為1000,這個后面會講。?

  5、多臺slave的話,重復1~4步驟就好。??

?

三、調度機(master)配置:

  1、腳本:簡單的一個訪問百度的腳本: 

  

  2、找到Jmeter的bin目錄下jmeter.properties文件,修改如下配置,IP和Port是slave機的IP以及自定義的端口(這里端口我自定義為100,后面會講如何自定義):

        remote_hosts=10.13.223.202:1000,10.13.225.12:1000

    多臺slave之前用","隔開,我這配置了2臺,可以看到標紅的這個就是上面截圖slave的IP和Port.

  3、打開Jmeter,選擇運行,有運程啟動、運程全部啟動兩個選項:

  

  4、選擇遠程啟動-->10.13.225.12:1000

    a) master結果,這里我只啟動了10.13.225.12:1000這一臺slave,所以只有一個結果(線程數和循環次數都是1):

  

    b) slave控制臺信息:

  ?

  5、選擇遠程啟動-->遠程全部啟動:

    a) master結果,全部啟動,我配置了2臺slave,所以有兩次執行結果:

  

  

四、自定義端口:

  上面其實已經實現了Jmeter的分布式測試,這部分主要介紹下如何自定義slave端口:

  1、slave:在slave機的Jmeter的bin目錄下,找到jmeter.properties文件,修改如下兩個配置項,比如我這里修改為1888:

      server_port=1888

      server.rmi.localport=1888

  2、啟動slave機上的jmeter-server.bat,如下圖,端口已經修改為:1888

  

  3、master:修改master機器的jmeter.properties文件:

      remote_hosts=10.13.223.202:1000,10.13.225.12:1888

  4、重啟jmeter.bat,如下圖,端口已經變了:

  

?

五、其它說明:

  1、調度機(master)和執行機(slave)最好分開,由于master需要發送信息給slave并且會接收slave回傳回來的測試數據,所以mater自身會有消耗,所以建議單獨用一臺機器作為mater。

  2、參數文件:如果使用csv進行參數化,那么需要把參數文件在每臺slave上拷一份且路徑需要設置成一樣的。

  3、每臺機器上安裝的Jmeter版本和插件最好都一致,否則會出一些意外的問題。

?


作者:Glen.He?
出處:http://www.cnblogs.com/puresoul/?
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

轉載于:https://www.cnblogs.com/jackferrous/p/6626452.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254985.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254985.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254985.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

互斥鎖pthread_mutex_t的使用

1. 互斥鎖創建 有兩種方法創建互斥鎖,靜態方式和動態方式。POSIX定義了一個宏PTHREAD_MUTEX_INITIALIZER來靜態初始化互斥鎖,方法如下: pthread_mutex_t mutexPTHREAD_MUTEX_INITIALIZER; 在LinuxThreads實現中,pthread_…

無效設備解決辦法

touch /etc/ini.d/FirstLoadkill 殺死槍彈柜程序 或重啟reboot轉載于:https://www.cnblogs.com/yygsj/p/5634384.html

HALCON示例程序measure_grid.hdev使用XLD分割鍵盤輪廓

HALCON示例程序measure_grid.hdev使用XLD分割鍵盤輪廓 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘keypad’) get_image_pointer1 (Image, Pointer, Type, Width, Height) dev_close_window () dev_open_window…

[BZOJ3992]序列統計

DP一下,設$f_{i,j}$表示生成$i$個數且乘積$\%Mj$的方案數,則$f_{i1,l}\sum\limits_{jk\%Ml}[k\in S]f_{i,j}$ 我們很不希望DP式中下標的位置出現乘法,因為這樣不好轉移,考慮把乘法換成加法 因為模數$M$是質數,所以它有…

socket,TCP/IP的理解(轉)

TCP/IP 要想理解socket首先得熟悉一下TCP/IP協議族, TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入因特網及數據如何再它們之間傳輸的標準, 從字面意思來看TCP…

最小中間和

題目描述 給定一個正整數序列a1,a2,...,an,不改變序列中的每個元素在序列中的位置,把它們相加,并用括號記每次加法所得的和,稱為中間和。編程:找到一種方法,添上n-1對括號,加法運算依括號順序進…

HALCON示例程序measure_metal_part_extended.hdev金屬零件尺寸測量

HALCON示例程序measure_metal_part_extended.hdev金屬零件尺寸測量 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘metal-parts/metal-parts-01’) init_visualization (Image, 3, ‘white’, ‘margin’, Width, …

雙目匹配與視差計算

立體匹配主要是通過找出每對圖像間的對應關系,根據三角測量原理,得到視差圖;在獲得了視差信息后,根據投影模型很容易地可以得到原始圖像的深度信息和三維信息。立體匹配技術被普遍認為是立體視覺中最困難也是最關鍵的問題&#xf…

JavaEE 銀聯支付之網站支付-消費類交易

以銀聯網站支付 - 消費類交易 為例 0. 大致邏輯 前端request->后臺封裝參數->后臺進行簽名->生成跳轉頁面(包含表單提交內容)->響應前端(將生成的html寫到瀏覽器中完成自動跳轉打開銀聯支付頁面) 復制代碼1.acp_sdk.p…

react 開發知識準備

react react使用教程 babel babel 可用于ES6轉換為ES5,jsx轉換為原生js。 ES6 ES6 語法 webpack webpack打包工具,它把不同的、相互依賴的靜態資源都視作模塊,并且打包成我們想要的靜態資源。讓代碼組織更清晰,一個文件就是一個模…

Linux多線程編程(不限Linux)

——本文一個例子展開,介紹Linux下面線程的操作、多線程的同步和互斥。 前言 線程?為什么有了進程還需要線程呢,他們有什么區別?使用線程有什么優勢呢?還有多線程編程的一些細節問題,如線程之間怎樣同步、…

概率論與數理統計-ch8-假設檢驗

1、假設檢驗 在總體的分布函數未知或只知其形式、不知其參數的情況下,為了推斷總體的某些未知特性,提出關于總體的假設,然后根據樣本數據對提出的假設做出接受或拒絕的決策。 步驟: 提出原假設--確定建立在樣本基礎上的檢驗統計量…

HALCON示例程序measure_metal_part_first_example.hdev通過擬合邊緣進行尺寸測量

HALCON示例程序measure_metal_part_first_example.hdev通過擬合邊緣進行尺寸測量 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘metal-parts/metal-parts-01’) get_image_size (Image, Width, Height) dev_close…

簡單實現仿某寶地址選擇三級聯動樣式

內容簡單介紹實現步驟第一步 找準方向第二步 開干總結還是題外話內容簡單介紹 簡單看一下須要實現的效果,如圖: 實現步驟 第一步 找準方向 事實上就是想好要用recyclerview而不是listview。假設要問我recyclerview是什么的話。。 第二步 開干 首先須要先…

opencv雙目測距實現

雖然最近注意力已經不可遏制地被神經科學、大腦記憶機制和各種畢業活動吸引過去了,但是還是覺得有必要把這段時間雙目視覺方面的進展總結一下。畢竟從上一篇博文發表之后,很多同仁發E-mail來與我討論,很多原來的疑團,也在討論和一…

logback高級特性使用-異步記錄日志

注意:該功能需要高版本才能支持,如1.0.11。AsyncAppender,異步記錄日志。 工作原理: 當Logging Event進入AsyncAppender后,AsyncAppender會調用appender方法,append方法中在將event填入Buffer(這里選用的數…

Linux下c開發 之 線程通信(轉)

1.Linux“線程”進程與線程之間是有區別的,不過Linux內核只提供了輕量進程的支持,未實現線程模型。Linux是一種“多進程單線程”的操作系統。Linux本身只有進程的概念,而其所謂的“線程”本質上在內核里仍然是進程。大家知道,進程…

HDU 1028 Ignatius and the Princess III

//強行遞推。 xx[i][j]表示i數中第j個開頭的組合種類。 /* 最終結果[i]為 sum of(xx[i][j]) (j from 1 to i); xx[i][j]sum of (xx[i-j][k]) (k from 1 to j); 例如 xx[10][4]xx[6][1]xx[6][2]xx[6][3]xx[6][4]; xx[6][1] 1; 6111111; xx[6][2]3; 6222, 62211, 621111; xx[…

HALCON示例程序measure_metal_part_id.hdev使用xld邊緣擬合檢測零件加工是否合格

HALCON示例程序measure_metal_part_id.hdev使用xld邊緣擬合檢測零件加工是否合格 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () Imagefiles : [‘metal-parts/metal-part-model-01’,‘metal-parts/metal-parts-01’,‘metal-parts/meta…

編寫批處理文件-------基礎

第一、Windows bat 批處理文件 編寫 如何編寫批處理文件 批處理文件(batch file)包含一系列 DOS命令,通常用于自動執行重復性任務。 用戶只需雙擊批處理文件便可執行任務,而無需重復輸入相同指令。編寫批處理文件非常簡單&#xf…