Linux系统搭建jmeter运⾏环境及启动jmeter-server遇到的错误
解决(性能⼋)
在Linux系统下安装jdk步骤:
1.下载⼀个linux可⽤的jdk包
具体步骤如下:
1.在/usr/local⽬录下⾯mkdir新建⼀个⽂件夹⽤来存放jdk⽂件
具体命令如下:
cd /usr/local
madir java_jdk
2.将jdk⽂件存到该⽬录下
3.rpm -ivh jdk-8u77-linux-x6
4.rpm安装jdk
(默认安装到/usr/java⽬录下
4.cd切换到跟⽬录下
5.vi .bash_profile进⼊配置环境变量这个⽬录下
加⼊(有重复的字段可以忽略):
LANGUAGE=CN
export Language
PATH=$PATH:$HOME/bin
JAVA_HOME=/usr/java/jdk1.8.0_92
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH
6.按下Esc,输⼊命令:wq保存并退出
7.在根⽬录下输⼊命令java -version可查看安装的jkd版本号就成功了。
【jdk环境配置成功】
⼆、配置jmeter的环境。
1.unzip apache-jmeter-4.0.zip或者tar -zxvf apache-jmeter-4.0.tar解压JMeter
2.配置环境变量:vi /etc/profile输⼊:
export PATH=/usr/JMeter/apache-jmeter-4.0/apache-jmeter-4.0/bin/:$PATH
3.保存,退出。
4.注销当前⽤户:logout
5.重新登陆linux
6.检查jmeter是否可以运⾏:jmeter -v
【使⽤jmeter进⾏测试】
1.将.jmx移动到root⽬录下
mv XXX.jmx/root
2.执⾏:jmeter -n -t XXX.jmx -l log.jtl
3.查看jtl⽇志:cat log.jtl
【启动jmeter-server遇到的错误】
解决⽅法:(指定本地IP)
./jmeter-server -i.server.x.xxx
安装常见问题
1、问题
[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[:39308](local),objID:[24e78a63:16243c70661:-7fff, 7492480871343944173]]]
Server failed to start: i.RemoteException: Cannot start. Unable to get local host IP address.; nested exception is:
java.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known
An error occurred: Cannot start. Unable to get local host IP address.; nested exception is:
java.UnknownHostException: iZwz95j86y235aroi85ht0Z: iZwz95j86y235aroi85ht0Z: Name or service not known
解决:
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:\windows\system32\drivers\etc\hosts⽂件,增加⼀条域名与IP的映射
2、问题
[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server
Server failed to start: i.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)
解决:
拥有RMI over SSL的有效密钥库,或者禁⽤了SSL。
1、禁⽤SSL
jmeter.property⾥⾯ i.ssl.disable 改为 true,表⽰禁⽤
3、问题:
[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)
#
# 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
解决:
编辑jmeterlinux安装jdk18并配置环境变量
搜索 : "${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
改变初始堆内存和最⼤堆内存
4、仅修改 server_port 即可,下⾯两者⼀样
server_port=8899  表⽰master机器要远程连接的端⼝即 remote_hosts=xxxx:8899
5、
<!-- jmeter 分布式性能测试(多⽹卡配置) -->
我们要在多⽹卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同⼀个⽹段内。
需要以下⼏步(假定所有机器都在10.120.11.*⽹段,agent服务器为linux,controller服务器为windows):
1、修改agent服务器,指定agent机器的IP
修改jmeter-server⽂件
# vi jmeter-server
修改RMI_HOST_DEF=-i.server.x.xxx(需要连接的IP)
2、修改server服务器,指定server机器的IP
修改jmeter.bat⽂件
新增set rmi_host=-i.server.hostname=10.120.11.214
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
6、确定在controller机器上安装jdk,版本和jmeter⼀致,配置环境变量:Java_home等
在Agent机器上安装jdk,配置环境变量:Java_home和JMeter_home
安装⽬录不要带空格,最好都是简短的英⽂路径
7、master机器启动后会拷贝jmx⽂件到slave机器,所以不需要在每台slave机器上也上传⼀份jmx,只需要在master机器上上传⼀份jmx脚本即可。
如果使⽤csv进⾏参数化,则需要把参数⽂件在每台slave上拷⼀份且路径需要设置成⼀样的。
总样本数 = 线程数 * 循环次数 * 执⾏机总数
8、连接失败原因排查
以下步骤进⾏排查:
1. jmeter-server是否启动;
2. 是否联⽹
3. ping 服务器IP是否畅通.
4. telnet 端⼝ 192.168.3.10 1099
5. 检查服务器的防⽕墙是否关闭。
6. 阿⾥云安全策略是否正常
9、"could not find ApacheJmeter_core.jar"
解决:在Agent机器安装jdk,并设置环境变量
10、”Bad call to remote host"
解决:检查被控制机器上的jmeter-server有没有启动,或者remote_hosts的配置是否正确。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。