Apache JMeter分布式測試
阿新 • • 發佈:2018-01-30
pla htm 圖片 生產 nbsp distrib 處理 遠程 控制臺
Apache JMeter分布式測試分步驟
這個簡短的教程解釋了如何使用多個系統來執行壓力測試。在我們開始之前,有幾件事要檢查。
- 系統上的防火墻被關閉或正確的端口被打開。
- 所有的客戶端都在同一個子網上。
- 如果使用192.xxx或10.xxx IP地址,服務器在同一個子網中。如果服務器不使用192.xx或10.xx IP地址,則不應該有任何問題。
- 確保JMeter可以訪問服務器。
- 確保在所有系統上使用相同版本的JMeter和Java。混合版本將無法正常工作。
一旦確定了系統已經準備就緒,就可以開始遠程測試了。本教程假定您已經在所有系統上安裝了JMeter。JMeter的工作方式是一個主控制器在多個從屬系統上啟動測試。
一個主人控制多個奴隸
1術語
在我們深入分步說明之前,最好定義一些術語並確保清晰。
- 主
- 運行JMeter GUI的系統,它控制測試
- 奴隸
- 運行jmeter-server的系統,它接受來自GUI的命令並向目標系統發送請求,
- 目標
- 我們打算強調測試的網絡服務器
2分步
- 在從屬系統上,轉到jmeter / bin目錄並執行 jmeter-server.bat(在unix上的jmeter-server)。
- 在作為控制臺的主系統上,打開Windows資源管理器並轉到 jmeter / bin目錄
- 在文本編輯器中
- 編輯行remote_hosts = 127.0.0.1
- 添加IP地址。例如,如果我有運行在192.168.0.10,...,192.168.0.15上的JMeter服務器,則條目將如下所示:
remote_hosts = 192.168.0.10,192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14
- 啟動JMeter。
- 打開你想要使用的測試計劃
2開始測試
此時,您已準備好開始負載測試。如果您想仔細檢查從屬系統是否正常工作,請在您的編輯器中打開jmeter.log。您應該在日誌中看到以下內容。
將日誌文件寫入:/XXXX/XXXXX/bin/jmeter-server.log創建的遠程對象:UnicastServerRef [liveRef:[endpoint:[192.XXX:XXXXX](local),objID:[ - 6a665beb:15a2c8b9419:-7fff,3180474504933847586]]]
如果你沒有看到這個消息,這意味著jmeter-server沒有正確啟動。有關調試問題的提示,請轉到提示部分。有兩種方法來啟動測試:一個系統和所有系統。
3啟動一個客戶端
- 點擊頂部的運行
- 選擇遠程啟動
- 選擇IP地址
4啟動所有客戶端
- 點擊頂部的運行
- 選擇遠程全部開始或使用Ctrl + Shift + R
5限制
分布式測試有一些基本的限制。這是已知項目的列表,沒有特定的順序。
- RMI不能在沒有代理的情況下跨子網進行通信; 因此JMeter也不能沒有代理。
- 從版本2.9開始,JMeter將所有測試結果剝離響應數據發送到控制臺,這樣可以減少對網絡IO的影響。確保您監控您的網絡流量,以免流量造成爭用
- 運行在2-3 GHz CPU(最新CPU)上的單個JMeter客戶端可以根據測試類型處理1000-2000個線程。
7提示
在某些情況下,防火墻可能仍然阻塞RMI流量。
防病毒和防火墻
在負載測試期間應該停止殺毒軟件,因為它會嚴重影響導致錯誤結果的時間。防火墻需要停止從Windows服務或至少一些端口需要打開。
- 打開控制面板
- 打開管理工具
- 雙擊服務
- 進入賽門反病毒,右鍵單擊並選擇停止
Windows防火墻
- 打開網絡連接
- 選擇網絡連接
- 右鍵單擊並選擇屬性
- 選擇高級選項卡
- 取消選中互聯網連接防火墻
Linux的
在RedHat(或衍生產品)上,iptables默認是開啟的。執行
服務iptables停止
停止Linux防火墻或確保您打開正確的端口。Apache JMeter分布式測試