jmeter分布式部署(windows)
处理过程:
一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上;
二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=150个线程并发跑3分钟;
三:执行时,slave会把执行获得的数据结果传给master机器,master机器会收集所有slave机器的信息并汇总,这样master机器上就存在一份所有slave机器汇总的数据结果。
注意事项:
一:我们注意到master机器启动后会拷贝jmx文件到slave机器,所以我们不需要在每台slave机器上也上传一份jmx,只需要在master机器上上传一份jmx脚本即可。
二:参数化文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。
三:调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为master。
四:保证每台机器的jmeter版本和插件版本相同,避免造成一些意外问题。
五:分布式测试总样本数 = 线程数 * 循环次数 * 执行机总数, 样本计数逻辑为:执行机slave执行的测试脚本是由调度机master分发的,故每台执行机执行的测试脚本都是相同的,故而性能测试总样 本数 = 测试脚本样本数 * 执行机总数,而测试脚本样本数为线程数 * 循环次数
一、执行机配置(Slave)
1.配置执行机服务器远程端口:%JMETER_HOME%/bin/jmeter.properties文件中server_port端口号为机器未被占用的端口号,一般默认为1099,此处我修改为7890(可以使用默认端口或者改成其他端口,只要未被占用就行),
remote_hosts为127.0.0.1不需要修改
2.取消server.rmi.ssl.disable注释,改为true。
3.启动执行机服务器
位置:%JMETER_HOME%/bin/jmeter-server.bat
二、调度机配置(Master)
1.配置远程机器和端口:多个机器用逗号隔开,server_port端口与执行机要保持一致
2.取消server.rmi.ssl.disable注释,改为true。
3.运行--选择单个或全部执行机启动。