news 2026/6/10 1:27:00

JMeter如何进行多服务器远程测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JMeter如何进行多服务器远程测试

JMeter是Apache软件基金会的开源项目,主要来做功能和性能测试,用Java编写。

我们一般都会用JMeter在本地进行测试,但是受到单个电脑的性能影响,往往达不到性能测试的要求,无法有效的模拟高并发的场景,那么这个时候,我们就可以借由JMeter提供的Romote Test来进行远程的测试。

其工作方式入下图:

我们可以在多台电脑上,启动JMeter的Romote Testing模式,然后用某一台服务器作为Master端通过RMI控制Slave端来执行我们的测试脚本。当JMeter Slave端执行完测试脚本后,会将执行结果发送回Master控制端进行汇总,得出整体的测试报表。

JMeter的Romote Test模式的好处就是可以用一台终端、一个测试计划在多台服务器端同时对目标服务器进行测试,并且将测试的结果回报给统一的控制终端进行汇总,方便高并发的测试需求。

下面介绍下JMeter这种远程测试的使用方法。

Step 1: 在Slave端安装JMeter

JMeter可以从官网下载,下载地址:https://jmeter.apache.org/download_jmeter.cgi

由于JMeter的运行需要Java环境,所以,服务器端也必须安装Java。

注意:为了Remote Testing模式能正常工作,尽量保证Slave端和Master端的JMeter和Java版本一致。

Step 2: Slave端运行JMeter

在JMeter的bin目录下,执行下面命令,就可以以服务的方式启动JMeter的Slave端:

jmeter-server

JMeter Slave端,默认会启动RMI(Remote Method Invoke)机制,RMI的默认端口为1029,可以在文件jmeter.properties中进行修改。

另外,从JMeter 4.0开始,RMI默认会使用SSL连接,为了能让Slave端和Master端正常通讯,我们需要生成对应的keys和certificates。在JMeter的bin目录下,自带JKS(Java KeyStore)文件生成命令。

在JMeter的bin目录下运行如下的命令,并按照提示符输入相应的内容:

  1. >bin % ./create-rmi-keystore.sh

  2. What is your first and last name?

  3. [Unknown]: rmi

  4. What is the name of your organizational unit?

  5. [Unknown]: unit

  6. What is the name of your organization?

  7. [Unknown]: org

  8. What is the name of your City or Locality?

  9. [Unknown]: city

  10. What is the name of your State or Province?

  11. [Unknown]: prov

  12. What is the two-letter country code for this unit?

  13. [Unknown]: cn

  14. Is CN=rmi, OU=unit, O=org, L=city, ST=prov, C=cn correct?

  15. [no]: yes

  16. Enter key password for <rmi>

  17. (RETURN if same as keystore password):

  18. Re-enter new password:

  19. Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property 'server.rmi.ssl.keystore.file'

注意:提示符里面的内容,第一条的名字和最后的密码需要记录下来,其他的内容可以任意填写。

例如,我这里的第一条填写的name是rmi,最后的密码设置为changeit,如果你这里填了其他的值,那么,你需要将你的值写到jmeter.properties文件中,分别对应两个属性:

  1. server.rmi.ssl.keystore.alias

  2. server.rmi.ssl.truststore.password

最后,我们还需要按照提示,将生成的rmi_keystore.jks文件复制到需要连接的JMeter的bin目录下。如果放到其他目录下,我们需要在jmeter.properties文件中通过server.rmi.ssl.keystore.file指定.jks文件的目录。

Step 3: Master控制Slave执行测试脚本

在Slave端启动成功后,我们就可以尝试在Master端进行连接控制。

首先,我们需要将远程JMeter服务器(Slave端)的IP:Port添加到本地JMeter中,方式是修改本地bin目录下的jmeter.properties文件,在其中找到remote_hosts,将自己的远程JMeter的host和端口添加到这里,如果有多个,使用,分隔。

remote_hosts=<server ip>:1199

配置完成后,我们就可以运行命令来执行我们的测试计划:

./jmeter.sh -n -t test.jmx -r

-r: 会控制在remote_hosts中配置的所有Slave端来执行我们的测试计划test.jmx;

你也可以直接在命令行中来指定想要控制的远程JMeter的具体IP:Port,命令如下:

./jmeter.sh -n -t test.jmx -R<IP>:1099

问题和解决方案

这里可能会出现很多问题,下面列出一些我踩过的坑:

1. Master报连接被拒绝,这个时候你需要检查防火墙设置,是否屏蔽了端口;

2. Slave端启动时,你会发现每次的端口都是随机的,这个可能会造成每次都需要去修改防火墙的端口策略,我们可以通过修改jmeter.properties中的server.rmi.localport来设置一个固定端口号;

3. 某些特殊情况,也会出现客户端无法连接的问题,比如,有些服务器是有双网卡的,这个时候,我们可能就需要指定JMeter启动的服务器端的IP,配置的方式是修改bin/jmeter-server文件,将其中注释的一行修改如下:

RMI_HOST_DEF=-Djava.rmi.server.hostname=1.2.3.4

这里的1.2.3.4为你要指定的网卡的IP。

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 0:10:51

如何用DSPy生成prompt示例

之前探索了使用DSPy的简单示例 https://blog.csdn.net/liliang199/article/details/155614507 这里进一步探索DSPy的符合应用&#xff0c;包括问答、情感分类、RAG系统等。 所用示例参考和修改自网络资料。 1 DSPy基础应用 1.1 DSPy配置 首先是LLM模型设置&#xff0c;这里…

作者头像 李华
网站建设 2026/6/10 12:44:45

市面上优秀的刀具源头厂家

刀具行业技术演进与解决方案分析&#xff1a;以阳江市金炜工贸有限公司为例行业痛点分析当前&#xff0c;全球刀具制造领域正面临一系列深刻的技术挑战。一方面&#xff0c;市场对刀具产品的需求日益多元化与专业化&#xff0c;从家庭厨房到户外探险&#xff0c;再到轻工业制造…

作者头像 李华
网站建设 2026/6/10 9:51:52

Go调试神器:5分钟快速上手GoDeBug完整指南

Go调试神器&#xff1a;5分钟快速上手GoDeBug完整指南 【免费下载链接】godebug DEPRECATED! https://github.com/derekparker/delve 项目地址: https://gitcode.com/gh_mirrors/go/godebug 还在为Go程序调试而烦恼吗&#xff1f;GoDeBug作为一款开源的Go语言调试工具&a…

作者头像 李华
网站建设 2026/6/10 10:33:01

8、Lotus Domino 6 for Linux:安全、管理、性能优化与故障排除全解析

Lotus Domino 6 for Linux:安全、管理、性能优化与故障排除全解析 1. Domino服务器配置与管理 在Domino服务器的管理中,通过配置选项卡可以访问当前服务器文档,其中包含了诸多定义服务器运行方式的设置: - 基本信息 :如服务器名称和主机名。 - 安全设置 :保障服务…

作者头像 李华
网站建设 2026/6/9 18:15:06

71、深入理解 Linux 高级安全之 PAM 认证

深入理解 Linux 高级安全之 PAM 认证 1. Linux 安全工具概述 Linux 系统拥有丰富的加密工具,这为实现特定组织所需的密码学标准提供了灵活性和多样性。此外,PAM(Pluggable Authentication Modules,可插拔认证模块)是 Linux 上另一个强大的安全工具。 2. PAM 简介 PAM …

作者头像 李华
网站建设 2026/6/9 19:50:29

Windows美化神器DWMBlurGlass:一键打造个性化透明标题栏

还在为Windows系统千篇一律的灰色标题栏感到审美疲劳吗&#xff1f;是否渴望为自己的桌面注入新的活力&#xff1f;今天我要向你推荐一款革命性的Windows美化工具——DWMBlurGlass&#xff0c;它将彻底改变你对Windows界面的认知&#xff0c;让你的桌面焕然一新&#xff01; 【…

作者头像 李华