安裝常見問題
一、問題
[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Created remote object: UnicastServerRef2 liveRef: [endpoint:[:39308,objID:[24e78a63:16243c70661:-7fff, 7492480871343944173]]]
Server failed to start: java.rmi.RemoteException: Cannot start. Unable to get local host IP address.; nested exception is:
java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known
An error occurred: Cannot start. Unable to get local host IP address.; nested exception is:
java.net.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not knownhtml
解決:
hostname 命令獲取機器名稱,追加一個映射 iZwz95j86y235aroi85ht0Z
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
120.79.160.143 iZwz95j86y235aroi85ht0Z
windows用戶 修改c:windowssystem32driversetchosts文件,增長一條域名 與IP的映射java
二、問題
[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
解決:linux
擁有RMI over SSL的有效密鑰庫,或者禁用了SSL。 一、禁用SSL jmeter.property裏面 server.rmi.ssl.disable 改成 true,表示禁用
三、問題:
[root@iZ949uw2xehZ bin]# ./jmeter
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)apache
解決:
編輯jmeter
搜索 : "${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
改變初始堆內存和最大堆內存vim
四、僅修改 server_port 便可,下面二者同樣
server.rmi.localport=8899 表示slave server啓動顯示的端口
server_port=8899 表示master機器要遠程鏈接的端口 即 remote_hosts=xxxx:8899windows
五、
<!-- jmeter 分佈式性能測試(多網卡配置) -->
咱們要在多網卡的服務器上開啓RMI服務的話必須指定IP,使他們可以在同一個網段內。 安全
須要如下幾步(假定全部機器都在10.120.11.*網段,agent服務器爲linux,controller服務器爲windows):服務器
一、 修改agent服務器,指定agent機器的IP
修改jmeter-server文件dom
修改RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(須要鏈接的IP)分佈式
二、修改server服務器,指定server機器的IP
修改jmeter.bat文件
新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
六、肯定在controller機器上安裝jdk,版本和jmeter一致,配置環境變量:Java_home等
在Agent機器上安裝jdk,配置環境變量:Java_home和JMeter_home
安裝目錄不要帶空格,最好都是簡短的英文路徑
七、master機器啓動後會拷貝jmx文件到slave機器,因此不須要在每臺slave機器上也上傳一份jmx,只須要在master機器上上傳一份jmx腳本便可。
若是使用csv進行參數化,則須要把參數文件在每臺slave上拷一份且路徑須要設置成同樣的。
總樣本數 = 線程數 循環次數 執行機總數
八、鏈接失敗緣由排查
如下步驟進行排查:
九、"could not find ApacheJmeter_core.jar"
解決:在Agent機器安裝jdk,並設置環境變量
十、」Bad call to remote host"
解決:檢查被控制機器上的jmeter-server有沒有啓動,或者remote_hosts的配置是否正確。
更多學習資料可參考JMeter接口壓力測試