安装常见问题
一、问题
[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接口压力测试