一.jmeter分布式壓測使用場景
1.當一台jmeter並發數達到瓶頸時,需要多台jmeter一台控制機,多台負載機來進行分布式壓測 擴大並發數
2.當測試多台服務器時,需要同時通過多個ip壓測同一個服務器時需要使用jmeter的分布式壓測,也能更好的測試出服務器的均衡負載
3.什么是分布式測試:分布式測試是指通過局域網和Internet,把分布於不同地點、獨立完成特定功能的測試計算機連接起來,以達到測試資源共享、分散操作、集中管理、協同工作、負載均衡、測試過程監控等目的的計算機網絡測試
4.在使用Jmeter進行接口的性能測試時候,由於JMeter是java應用,對CPU和內存消耗比較大,所以當需要模擬數以萬計的並發用戶時,使用單台機器模擬所有的並發用戶就會出現電腦卡死等現象,或者會引起java內存溢出的錯誤。為
了Jmeter工具提供了更大的負載能力,這個時候就可以使用Jmeter提供分布式來控制多台電腦進行壓力測試
二.jmeter分布式壓測配置
1.jmeter分布式可以跨系統配置 不論是windows還是linux都可以
2.jmeter分布式前置條件 master(控制機)與slave(負載機)jdk版本一致,同一局域網,jmeter版本一致 本次演示是jmeter4.0版本
3.master控制機配置 編輯jmeter.properties配置文件
4.slave負載機1與slave負載機2一樣的配置 注意ip即可 我的控制機是windows的,兩個負載機是linux的所以 vim jmeter.properties
5.linux負載機啟動jmeter-server時可能會報錯 編輯文件 vim jmeter-server
6.這樣一來算是配置完成了接下來因為jmeter4.0版本及以上時,為了安全 分布式壓測需要一個密匙才能正常實現 打開控制機的bin目錄運行create-rmi-keystore.bat
但是可能因為權限問題導致無法運行,用notepad++打開文件 復制這個命令
7.進入jdk的bin目錄路徑 使用cmd運行這個命令
8.打開cmd進入jdk的bin目錄 運行create-rmi-keystore.bat的命令 生成密匙時會問一些問題 設置答案,最后輸入Y 敲擊鍵盤enter鍵確認即可
9.這里有一個坑 如果是win10系統 運行這個命令的時候會報錯 拒絕訪問 是因為沒有管理員運行權限 使用管理員運行cmd 執行命令即可
10.命令運行成功后 會在jdk的bin目錄下生成一個rmi_keystore.jks文件 把這個文件復制到控制機與負載機的jmeter的bin目錄下即可
11.控制機 負載機1 負載機2 傳入rmi密匙文件
12.運行控制機jmeter.bat 運行負載機jmeter-server
13.因為我把控制機的ip也配上了 所以我的控制機啟動jmeter-server 與jmeter.bat 在運行哪里點擊遠程全部啟動
14.所有的運行結果將在控制機展示
15.察看結果樹的響應數據沒有數據 是正常的 因為數據量很大的話會增加控制機的負擔,所以一定設置好響應斷言,來判斷請求是否成功.