meter进行分布式测试时需要特别注意的:
1)如果使用csv进行参数化,需要吧参数文件在每台slave上拷贝一份,最好都放置在bin目录下,因为Jmeter会直接从bin目录下查找;
2)slave机器执行脚本时,若断言执行成功则在master机器上是看不到请求响应数据的,只有在断言出错时才可键slave的返回;
3)若要使用Jmeter分布式进行测试,TCP取样器中“TCPClient classname”该栏必须填写对应的协议;
4)以十六进发送tcp数据包时,TCP取样器中“End of line(EOL) byte value”必须填写数据包的结束符,否则jmeter会一直等待,无响应。
Jmeter分布式测试常见问题:
问题1:在master上运行jmeter-server.bat时,出现“Exception creating connection to:192.16.*.*;nested exception is:java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)”错误
解决方案:修改apache-jmeter/bin/jmeter.properties 参数:server.rmi.ssl.disable=true
备注:将master和slave机器上的jmeter.properties文件 参数server.rmi.ssl.disable均改为true
其中linux上是用以下命令:vi jmeter.properties 使用/server.rmi.ssl.disable/进行查找
问题2:在slave上(linux系统)运行jmeter-server时,出现“An error occurred: Cannot start. localhost is a loopback address”错误
解决方案:运行以下命令:./jmeter-server -Djava.rmi.server.hostname=192.16.*.*(本机ip)
备注:Linux下后台执行,启用server:nohup ./jmeter-server -Djava.rmi.server.hostname=192.16.*.* &
查看确定jmeter是否启动成功:ps axu | grep jmeter
问题3:远程启动slave机器时,如出现“Jmeter nested exception is:java.net.ConnectException connection timed out:connect ”错误
1)查看slave上的ip与master配置文件中的ip是否一致;
如果不一致,查看slave机器上是否有虚拟网卡,将网卡关闭,在此启动Jmeter-server.bat,查看是否正确
2)查看防火墙是否关闭
问题4:当设置csv文件路径时,如果路径不对,无响应
解决方法:将csv文件以“相对路径”命名,即将csv文件直接放入bin目录下,在Jmeter路径中直接写入文件名
问题5:(Linux)默认端看1099被占用,如何关闭某个被占用端口的方法
1)netstat -ntlp //查看当前所以tcp端口
nestat -ntulp |grep 1109 //查看所有1109端口使用情况
2)lsof -i:1109 //查看占用1109端口的程序pid
3)kill -9 1109 //kill掉该进程
问题6:如果使用slave发送数据后,长时间无响应
问题排查:
1)查看发送的数据中是否存在csv参数文件,查看slave机器的bin目录下是否有该文件;
2)查看建立的tcp采样器中属性“TCPClient classname”处是否添加协议:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl
问题7:如果你的JMeter返回数据是乱码
解决方法:在JMeter安装路径的bin目录下,打开文件jmeter.properties,把Sampleresult.default.encoding的值改为 utf-8 即可。
登录 | 立即注册