分布式Jmeter压测机的部署
部署
1.分布式配置
Master机Jmeter安装目录下/bin/jmeter.properties
remote_hosts修改为slave压力机的IP
如 remote_hosts=10.0.4.18:1099,10.0.4.49:1099,10.0.4.42:1099,10.0.4.21:1099,10.0.4.7:1099
2.启动jmeter服务
查看是否已启动jmeter服务
ps -ef|grep jmeter-server
若有命令的服务,就代表已启动
若未启动服务
全部机器下jmeter安装目录下/bin
nohup ./jmeter-server -Djava.rmi.server.hostname=(本机IP) &
如 nohup ./jmeter-server -Djava.rmi.server.hostname=192.168.1.94 &
重启服务
重启整个机器shutdown -r now
杀掉进程再重启服务kill -9 (进程号)如上图kill -9 5218 5220 5245 再重启
3.压测机优化
增加端口号
设置系统可用的socket端口号,每台机器最多可用的端口号为65535,在测试机器上可能某些系统的端口已经被占用,因此用户可以设置可用的端口号段来增加可用的端口。如下例所示可用的端口号为1024至61000,那么最多的可用端口号数目为59,976个。
路径:/etc/sysctl.conf
配置连接情况
tcp_tw_reuse表示可以复用处于TIME_WAIT状态的连接,对于在性能测试过程中可能产生的大量临时的短连接,该选项可以重用连接,而不用等待连接的完全释放,从而能提高支持的并发用户数目。tcp_tw_recycle用于回收处于TIME_WAIT状态的连接,也可以提高连接的使用率。
路径:/etc/sysctl.conf
配置线程
栈空间主要用于分配在方法调用过程中压入栈的方法调用的参数值等。栈空间的使用是和线程数目基本上成正比的,Java 8中缺省每个线程会分配1MB的栈空间。测试脚本(实际上取决于插件的实现)并没有递归等复杂的栈调用,可以把每个线程所需的栈空间调小。降低每个线程栈空间,通过加入下面的语句来解决,下图中的配置的意思是每线程使用400KB的栈空间,比缺省的1MB节省了资源。
路径:/home/apache-jmeter-5.3/bin/jmeter
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言