Jmeter 分布式性能测试常见报错

Jmeter分布式测试方案:

控制机(master)为windows10机器

执行机(slave)均为Linux(centos7)机器。

 

一、问题 1 :
报错 permission denied

 

 修改整个 jmeter 目录权限

Chmod -R 755 apache-jmete根目录(目录即可)。


二、问题 2 :

 

 


解决:1.查看 slave 上的 ip 与 master 配置文件中的 ip 是否一致; 如果不
一致,查看 slave 机器上是否有虚拟网卡,将网卡关闭,在此启动
Jmeter-server.bat,查看是否正确
2.查看防火墙是否关闭
注:centos7 上关闭防火墙:
firewall-cmd --state //查看防火墙状态
systemctl stop firewalld.service //关闭防火墙
并重新启动 jmeter-server


三、问题 3 :
./jmeter-server 运 行 提 示 : java.io.FileNotFoundException:rmi_keystore.jks(No such file or
directory)
解 决 : apache-jmeter/bin/jmeter.properties 下 把 该 行 server.rmi.ssl.disable=False 改 成
erver.rmi.ssl.disable=true


四、问题 4 :
只要错误中出现:Error in rconfigure() method java.rmi.ConnectException:Connection refused to
host:10.10.34.21;nested exception is:java.net.ConnectException:connection timed out:connect
方案:这是服务器双网卡造成的问题
在 linux 上 修改 jmeter-server
RMI_HOST_DEF=-Djava.rmi.server.hostname=slave 机器ip
在 windows 上 修改 jmeter.bat
新增 set rmi_host=-Djava.rmi.server.hostname=本机 ip
然后修改 set ARGS=,在其后增加一项 %rmi_host%,与其他项以空格间隔 if not defined
JMETER_COMPLETE_ARGS (
set
ARGS=%JAVA9_OPTS% %DUMP% %HEAP% %VERBOSE_GC% %GC_ALGO% %DDRAW% %SYSTEM_
PROPS% %JMETER_LANGUAGE% %RUN_IN_DOCKER% %rmi_host%
) else (
set ARGS=
)


五、 问题 5 :
controller 机器上收不到 slave 机器连接过来的信息。
方案:检查 slave 服务器的 hostname 和/etc/hosts 中服务器对应的名字是否相


六、 问题 6 :

启动压力机的时候,直接输入命令 :./jmeter-server,会报如下错误

错误原因:127.0.0.1 是本机, 一个回路地址, 没有指定地址
正确的启动方式:启动命令加一个参数, IP 地址写压力机对应的地址
./jmeter-server -Djava.rmi.server.hostname=ip 地址 (代理机 ip)


七、 问题 7 :

Jdk 版本不对,重新换成 1.8 版本 jdk 然后配置好环境变量。即可。


八、 问题 8 :
connection refused:拒绝连接
解决: 1、进入执行机 Jmeter 的 bin 目录,找到 Jmeter.properties 文件,打
开该文件修改如下两个配置项,比如修改端口号为:1567(默认端口号为:1099)
/设置启动默认端口号
server_port=1567
server.rmi.localport=1567
防火墙未关闭::systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 关闭运行的防火墙
调度机访问的执行机端口与开启的服务端口不一致,同 1,设置好执行机默认端
口后
在调度机上 remote_hosts=IP:端口 设置为虚拟机 ip 和开放的默认端口
Telnet IP 端口 查看是否能通


九、 问题 9 :
启动 remote 测试后,Agent 机器 收到任务,且控制台显示:”Starting the test
on host 192.168.1.132:1099 @ ***“,说明控制机分派上 agent 机上的测试成
功,但是 一直卡在这里不动了,控制机一直没有显示 任务执行状况以及收到测
试结果(任务一直不结束,卡住了)。
解决方法:
(1)telnet 192.168.1.132 1099 是通的,说明 控制机 连 agent 机是 OK
了,问题排除。
(2)查看 agent 机上 c:\apache-jmeter-2.13\bin 中 jmeter-server.log
日志文件,发现有错误: jmeter.samplers.RemoteListenerWrapper:
testStarted(host) java.rmi.ConnectException: Connection refused to host:
169.254.123.36; nested exception is:
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at
java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unkn
own Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown
Source)
at $Proxy1.testStarted(Unknown Source)
at
org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteLi
stenerWrapper.java:85)
at
org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfSt
art(StandardJMeterEngine.java:216)
at
org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngin
e.java:336)
at java.lang.Thread.run(Unknown Source)
推断原因是 agent 连不了控制机,被拒绝,连接超时。
问题产生了: 为何 控制机 IP 变成了 169.254.123.36, IP 不
是 192.168.1.117 吗?(问题的根源在于:我安装的 VMware 的一个 windows
虚拟机的网络设置成了“Bridge 并勾选 Replicate physical network IP
address 所以在 controller 机器的网络路由设置中,显示的网络连接为:
VirtualBox Host-Oly Network,在这个连接上右键,选择“Disable“,禁用掉,
然后重新运行 jmeter-server.bat,在窗口中发现 IP 已经正确了,这样问题就
解决了) 估计问题就在这里。


十、 问题 10 :
命令启动远程时,报错

由于脚本里有调用文件,文件没有放到 bin 目录下

设置相对路径即可

posted @ 2021-01-18 18:20  JenniferZQS  阅读(2209)  评论(0编辑  收藏  举报