分布式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