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接口压力测试

相关文章
相关标签/搜索