news 2026/2/3 16:15:17

Jmeter分布式性能压测-常见问题+解决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter分布式性能压测-常见问题+解决

前言

安装常见问题
问题1:

[root@iZwz95j86y235aroi85ht0Z bin]# ./jmeter-server Created remote object: UnicastServerRef2 [liveRef: [endpoint:[:39308](local),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 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: 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)

解决:
拥有RMI over SSL的有效密钥库,或者禁用了SSL。

禁用SSL
jmeter.property里面 server.rmi.ssl.disable 改为 true,表示禁用

问题3:

[root@userCenter bin]# ./jmeter-server Created remote object: UnicastServerRef2 [liveRef: [endpoint:[127.0.0.1:39687](local),objID:[-18db419a:167773db861:-7fff, -176377700206527642]]] Server failed to start: java.rmi.RemoteException: Cannot start. userCenter is a loopback address. An error occurred: Cannot start. userCenter is a loopback address.

解决:
执行时加上参数./jmeter-server -Djava.rmi.server.hostname=10.1.1.222

问题4:

[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

解决:
编辑jmeter
搜索 : “${HEAP:=”-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
改变初始堆内存和最大堆内存

仅修改 server_port 即可,下面两者一样

server.rmi.localport=8899 表示slave server启动显示的端口
server_port=8899 表示master机器要远程连接的端口 即 remote_hosts=xxxx:8899

jmeter 分布式性能测试(多网卡配置)

我们要在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。

需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):

修改agent服务器,指定agent机器的IP
1)修改jmeter-server文件

# vi jmeter-server

修改RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(需要连接的IP)

2)修改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上拷一份且路径需要设置成一样的。

总样本数 = 线程数 * 循环次数 * 执行机总数

连接失败原因排查

以下步骤进行排查:
jmeter-server是否启动;
是否联网;
ping 服务器IP是否畅通;
telnet 端口 192.168.3.10 1099;
检查服务器的防火墙是否关闭;
阿里云安全策略是否正常;

问题
“could not find ApacheJmeter_core.jar”
解决
在Agent机器安装jdk,并设置环境变量

问题
”Bad call to remote host"
解决
检查被控制机器上的jmeter-server有没有启动,或者remote_hosts的配置是否正确。

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 2:36:40

ReadCat:免费开源小说阅读器,打造纯净无干扰阅读体验

ReadCat:免费开源小说阅读器,打造纯净无干扰阅读体验 【免费下载链接】read-cat 一款免费、开源、简洁、纯净、无广告的小说阅读器 项目地址: https://gitcode.com/gh_mirrors/re/read-cat 在充斥着各种弹窗广告和付费陷阱的数字阅读时代&#xf…

作者头像 李华
网站建设 2026/1/31 12:27:01

360度全景图像查看器终极指南:轻松打造沉浸式视觉体验

360度全景图像查看器终极指南:轻松打造沉浸式视觉体验 【免费下载链接】360-image-viewer A standalone panorama viewer with WebGL 项目地址: https://gitcode.com/gh_mirrors/36/360-image-viewer 想要在网页上展示令人惊叹的360度全景图像吗?…

作者头像 李华
网站建设 2026/1/30 21:38:30

PlotDigitizer终极指南:5步完成图表数据提取的完整教程

PlotDigitizer终极指南:5步完成图表数据提取的完整教程 【免费下载链接】PlotDigitizer A Python utility to digitize plots. 项目地址: https://gitcode.com/gh_mirrors/pl/PlotDigitizer 还在为从图片中提取数据而烦恼吗?PlotDigitizer这款强大…

作者头像 李华
网站建设 2026/2/1 9:20:23

Kazumi WebDAV客户端终极指南:跨设备同步与高性能数据管理方案

Kazumi WebDAV客户端终极指南:跨设备同步与高性能数据管理方案 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 在当今多设备并行的时代&am…

作者头像 李华
网站建设 2026/1/31 18:06:23

3分钟快速上手:天津大学论文写作效率翻倍秘诀

3分钟快速上手:天津大学论文写作效率翻倍秘诀 【免费下载链接】TJUThesisLatexTemplate 项目地址: https://gitcode.com/gh_mirrors/tj/TJUThesisLatexTemplate 还在为论文格式调整而烦恼吗?每次提交前都要花大量时间手动排版?天津大…

作者头像 李华
网站建设 2026/1/29 14:34:58

5步搞定!打造专业级360度全景图像浏览体验的完整指南

想要在网页中快速实现令人惊艳的360度全景图像展示效果吗?今天我要分享一个轻量级的WebGL全景图像查看器解决方案,帮助你在短短5个步骤内打造出媲美专业级应用的全景浏览体验。这个仅140KB的独立全景查看器,完美替代庞大的ThreeJS&#xff0c…

作者头像 李华