


一、口语版回答(1–2 分钟)\n在性能测试中,如果单台机器的硬件资源有限,无法支撑高并发,我通常会使用 JMeter 的分布式测试功能。它的原理是通过一台 控制端(Master) 去统一控制多台 执行端(Slave),每个执行端运行相同的测试脚本,最终把结果汇总到 Master。\n实际操作上,我会保证 Master 与 Slave 在同一个网络环境中,时间同步,并且关闭防火墙。然后在 jmeter.properties 配置 Slave IP 地址,启动 jmeter-server。在 Master 启动测试时,就可以一键分发脚本到所有 Slave 并发执行。\n我之前在实习时做过一个电商大促的支付接口压测,单机只能跑 2000 并发,但目标是模拟 1 万并发,我就用了 5 台 Slave 机器,每台跑 2000 并发,Master 汇总 TPS、响应时间、错误率等指标。这样既解决了单机资源瓶颈,也能更真实模拟线上高并发场景\n二、详细步骤(JMeter 分布式配置)\n1. 环境准备\n- 所有机器安装 相同版本 JMeter 和 JDK。\n- 确保 Master 能连通所有 Slave(同网段或者专线/VPN)。\n- 关闭防火墙或开放端口(默认 1099、60000 以上)。\n- 所有机器时间同步(建议用 NTP)。\n2. Slave 配置\n- 在 Slave 机器上进入 bin/ 目录,运行:\njmeter-server\n- 默认会启动在 RMI 端口上等待 Master 控制。\n3. Master 配置\n- 修改 jmeter.properties 或 user.properties 文件:\nremote_hosts=192.168.1.101:1099,192.168.1.102:1099\n- 在 Master 上启动 GUI 或非 GUI 模式运行测试脚本。\n4. 执行测试\n- GUI 模式启动分布式:\nRun → Remote Start → All\n- 非 GUI 模式(推荐大规模测试):\njmeter -n -t test.jmx -r\n5. 结果收集\n- Master 自动收集所有 Slave 的执行结果,合并为聚合报告\n- 建议:在 Slave 本地保存原始结果文件,避免网络延迟导致结果丢失。\n#面试 #测试工程师面试


