Jmeter4.x壓測常見問題處理

安裝常見問題
一、問題
[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

There is insufficient memory for the Java Runtime Environment to continue.

Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.

An error report file with more information is saved as:

/usr/local/jmeter/apache-jmeter-4.0/bin/hs_err_pid5855.log

解決:
編輯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

vi jmeter-server

修改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上拷一份且路徑須要設置成同樣的。

總樣本數 = 線程數 循環次數 執行機總數

八、鏈接失敗緣由排查
如下步驟進行排查:

  1. jmeter-server是否啓動;
  2. 是否聯網
  3. ping 服務器IP是否暢通.
  4. telnet 端口 192.168.3.10 1099
  5. 檢查服務器的防火牆是否關閉。
  6. 阿里雲安全策略是否正常

九、"could not find ApacheJmeter_core.jar"
解決:在Agent機器安裝jdk,並設置環境變量

十、」Bad call to remote host"
解決:檢查被控制機器上的jmeter-server有沒有啓動,或者remote_hosts的配置是否正確。

更多學習資料可參考JMeter接口壓力測試

相關文章
相關標籤/搜索