jmeter分布式踩得坑匯總
一、普通的配置文件基本都能網上搜索資料,這里就簡單記錄:
a、jmeter.properties幾處修改:1、remote_hosts=master壓力機Ip;2、server_port,開啟服務器端口,記得要一致,差不多都是默認1099,記得有時候排查問題,看端口是否占用,netstat -ntlp
|grep 1099;3、一般局域網內網壓測,所以要開啟:server.rmi.ssl.disable=true;這個里面的文件基本搞定。
b、修改jmeter-server文件,一般來說這個可以不用修改,RMI_HOST_DEF=-
Djava.rmi.server.hostname=本機IP。
c、然后各自啟動jmeter-server,nohup即可。這個也是標準 nohup sh jmeter-server > nohup.out 2>&1 & 。補充,有時候jmeter-server服務有問題,快速kill,可以用 ps -ef | grep
jmeter-server | grep -v grep | cut -c 9-15 | xargs kill -s 9,然后在直接重啟。
d、分布式壓測,有csv文件,放在slave的bin目錄最簡單,如果有其他jar包,各自都需要有。
二、在配置的環境的時候,總有一些奇葩的問題:
1、每一臺slave都應該執行相同的執行計劃,一般情況master和slave最好分開,因為master需要給slave分發信息,也會接受slave回傳的測試結果,所以master一般會消耗很大。master和slave上的
java和jmeter版本最好一直,要不然出現的問題讓你死的心都有
2、分布式壓測的時候,參數化數據一般情況應該真實,而jmeter不會給你分配不同的數據,這個時候建議準備不同的csv文件,或者代碼控制分發
3、在進行斷言的時候,如果你不是java高手,建議你不要寫beanshell邏輯斷言,保不準你的代碼直接影響壓測結果;再生成結果樹的時候,一定要記得勾選僅記錄錯誤日志。
4、首先要確保master和slave之間的通信是ok,方法是:ping一下對方的IP即可;如果不通,檢查下網絡是否在同一個局域網里。
5、4.0版本jmeter新增keystore,需要先設置 keystore 才能正常進行分布式測試,不然會報以下錯誤,說什么文件不存在。在 master的 JMETER_HOME/bin/ 路徑,Windows 系統運行create-rmi-keystore.bat,Unix 系統(包含 Linux,macOS)運行create-rmi-keystore.sh。將rmi_keystore.jks復制到所有 Slave 的JMETER_HOME/bin/路徑,即可。

浙公網安備 33010602011771號