****jmeter 分布式
1.windows 做控制机 controller,linux 做压测机 agent;
2.复制一份 jmeter 工具包做slave/agent ,修改 jmeter 配置:
jmeter.properties -> server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
3.复制到目标 linux 机器,目录权限 chmod -R 755 JmeterFolderName
启动meter-server 文件:./jmeter-server
不行则使用./jmeter-server -Djava.rmi.server.hostname=agent IP
4.复制一份jmeter 做master/controller:
jmeter.properties -> server.rmi.ssl.disable=true
remote_host=agentIP1,agentIP2
mode=Standard --默认只有错误信息才在查看结果树显示,这个前面的注释去掉后,显示所有;
5.cmd -> jmeter 命令 启动jmeter -> 点击 run 菜单-> remote start 中有配置的远程agent IP,运行则选择 remote start alls 即可
6.监测服务器 ServerAgent,
**ServerAgent.jar 安装在被测试服务器端,与jmeter 集成的性能监控插件,支持查看 cpu, memory,正确率,响应时间,I/O等监控;
1)下载 ServerAgent, https://github.com/undera/perfmon-agent;
2)将安装包放到被测服务器,解压 unzip ServerAgentXXX.zip;
3)进入解压文件目录,启动 ServerAgent 服务 ./startAgent.sh 端口默认为 4444;
检查是否连通:telnet ip 444
4)下载 plugins-manager.jar, https://jmeter-plugins.org/install/Install/
5)将 plugins-manager.jar 文件放在 Jmeter 的lib/ext 目录下;
6)启动 jmeter -> options ->plugins manager ->进入插件管理,搜索 ***jpgc**,下载安装(安装后,jpg-Standard Set);
7)jmeter -> 监听器 -》 jp@gc - PerfMon Metrics Collector(服务器性能检测),说明安装成功;
8) jp@gc - PerfMon Metrics Collector -》 add Row ->添加监控的 host/ip、port、 Metric to collect 等;
一般监控 CPU、memory、swap、disks I/O
PS.注意测试脚本需要持续运行一段时间,才可以看到具体的曲线变化,否则ServerAgent端会断开连接!
(windows为例)在ServerAgent安装文件夹内打开cmd输入替换端口指令:java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 3401 --tcp-port 3402(端口号)
1.将启动监控插件的 jar(ServerAgent.jar) 包安装到要监控的服务器下;
2.找到启动监控插件的运行程序;
3.启动该程序:./startAgent.sh
4.查看是否启动成功; ps -ef|grep CMDRUNNer
5.将插件启动成功后打开 Jmeter ,添加 Jmeter 自带的性能监控插件,之后运行已添加的监控插件;
ps.
1.并发用户数 = controller 配置用户数据 * agent 机器数。
2.单独的 controller 可以做单接口测试;直接运行jmeter 运行图标,能做本地接口测试;
3.stepping thread group 不适合分布式(某视频上说的);
4.jmeter 工具,不要放在阿里云服务器的 conf 目录下,jmeter 目录下jaas.conf 文件会影响阿里云的启动;
阿里云启动时,会扫描所有 conf 目录下的 .conf 文件;
5.阶梯压测本人使用 bzm-Concurrency Thread Group:
以模仿递增式并发(只能递增不能递减),并可设置递增次数、递增时长、到达目标递增数量保持时长等等;
Target Concurrency:目标并发(总线程数)
Ramp Up Time:加速时间(总加速时长)
Ramp-Up Steps Count:加速步骤计数(总加速/递增次数)
Hold Target Rate Time:保持目标速率时间(到达总线程数后持续时长)
Time Unit:时间单位(分钟或者秒)
Thread Iterations Limit:线程迭代次数限制(循环次数)
Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件);
阶梯加压线程组需要和 监听器 Active Threads Over Time (单位时间内活动的线程数)结合起来。这样能看到动态的阶梯加压效果;
标签:插件,jmeter,启动,压测,jar,server,ServerAgent,Jmeter,分布式 From: https://www.cnblogs.com/xj63183/p/17633102.html