1. 程式人生 > >jmeter分散式踩得坑彙總

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/路徑,即可。