负载联机测试
如我们需要模拟并发大量请求时该怎么做呢?
每台计算机的线程数有限,无法靠一台计算机来完成请求的构造。
这时候就需要多台电脑协同操作才能完成。
Jmeter的master/slave的分布式架构来协调多台电脑同时联机负载测试。
1)主控制机
存放Jmeter脚本的机器叫做主控制机
2)负载机
被链接并用来运行脚本的工具叫做负载机
联机负载的基本配置
各个电脑最好保持jmeter版本一致
对apache-jmeter-4.0\apache-jmeter-4.0\bin\jmeter.properties文件进行修改。
打开找到
remote_hosts=127.0.0.1指定的是本机
# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010
添加负载机IP并指定端口(默认1099)
# Remote Hosts - comma delimited
#remote_hosts=127.0.0.1
remote_hosts=127.0.0.1:1099,192.168.49.130:1099,192.168.49.133:1099,192.168.49.13:1099
#remote_hosts=localhost:1099,localhost:2010
找到#server.rmi.ssl.disable=false修改为server.rmi.ssl.disable=true禁用SSL加密传输。
# Set this if you don't want to use SSL for RMI
#server.rmi.ssl.disable=false
#---------------------------------------------------------------------------
# Include Controller
#---------------------------------------------------------------------------
# Prefix used by IncludeController when building file name
#includecontroller.prefix=
修改完成后负载机通过jmeter-server.bat来启动。
主控机选中点击运行可以选择远程运行脚本。
注意点
1)负载机联机可以完成大量请求的构造,必须保证客户端没有资源瓶颈。例如带宽不够的话路由器发送数据量受限,构造请求再多也影响不到服务器端。
2)负载机如果都是同一网段,或在同一个局域网,那么网关通常是同一个,会触及服务器端防火墙规则,请求直接被服务器屏蔽。