Jmeter篇之Jmeter 分布式压测

为什么要做分布式压测?

在进行性能压测的时候,往往需要很大的并发量。但是一台电脑由于硬件方面的原因,支持的并发数并不能达到上万级别。公司的这台电脑只支持到2000的并发,内存和cpu就告急了。明显一台电脑支持不了我们的需求,这个时候就需要我们用到分布式了。

实现方式:一台控制机搭配多台压力机,同时对服务器进行压力测试。压力机执行性能测试脚本,返回结果到控制机。控制机同时可作为压力机。

准备工作:

1.主从机在同一局域网下,保证能ping通

2.Master和Slave安装相同版本的Jmeter。和相同版本的jdk

3.关闭防火墙
4.保证电脑运行的只有一个网卡(ipconfig只显示一个ip信息),如果多网卡需要指定网卡通讯。

 

1.在主控机的jmeter下的bin目录找到配置文件jmeter.properties。如图所示,修改内容为:remote_hosts=xx,xx代表的是压力机的ip。多个压力机之间用 , 分隔。

如果端口被占用,修改server_port

2.配置完了运行执行机jmeter bin目录下的jmeter-server.bat文件,但是会报错,提醒要加密。这时候有两种方法

第一种,设置SSL。如图所示,双击create-rmi-keystore.bat

根据提示一直填下去,遇到yes与No就直接填:Y 然后回车就ok了,要注意:生成的rmi_keystore.jks复制到每一台压力机的jmeter/bin目录下

第二种:修改控制机和压力机bin目录下jmeter.properties文件中server.rmi.ssl.disable=true 禁用SSL

3.启动控制机的jmeter -server.bat ,再启动jmeter.bat

4.然后控制机启动jmeter,配置性能测试脚本

5.配置完成后,点击【运行】——【远程启动】可以看到所有的压力机,可以选择一台启动,也可以点击【运行】——【远程全部启动】。

6.查看结果树,查看执行结果

报错信息-解决方法、

(免费领取Python自动化学习资料  工具,面试宝典面试技巧,加QQ群,785128166,群内还会大佬技术交流)

1.报错: java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)

处理:修改控制机和压力机bin目录下jmeter.properties文件中server.rmi.ssl.disable=true 禁用ssl

2.报错:Connection refused to host:192.168.1.104;nested exception is: java.net.ConnectException: Connection refused:connect

处理:在启动Jmeter之前要先启动Jmeter -server

JMeter是一个开源的试工具,可以用于Web应用、SOA服务以及其他HTTP协议的应用程序的性能试。当需要对系统进行大规模并发试时,我们通常会考虑构建分布式JMeter环境。 ### JMeter分布式环境搭建步骤: #### 第一步:准备环境 1. **服务器配置**:首先,你需要一组服务器,每台服务器都需要安装Apache JMeter,并且它们之间应该有稳定的网络连接。 2. **JMeter版本一致性**:确保所有JMeter版本一致,避免因版本差异导致的兼容性问题。 #### 第二步:部署JMeter 1. **服务器上安装JMeter**:通过SSH或其他远程访问工具将JMeter安装包上传到服务器上,然后解并配置JMeter环境变量。可以参考官方文档或教程进行详细操作。 2. **配置JMeter**:在每个JMeter实例中配置监听地址和端口。例如,在命令行中运行 `jmeter -n -t test计划.jmx -l results.jtl` 来启动试,这里 `-n` 指示无GUI模式运行,`-t` 表示试脚本的位置,`-l` 表示结果保存文件位置。 #### 第三步:创建并分发试计划 1. **设计试计划**:使用JMeter的图形界面或脚本语言编写试计划,包括URL、请求头、参数、断言等。确保试计划能覆盖所需的所有功能和场景。 2. **导出试计划**:将试计划导出为.jmx格式文件,以便于跨节点执行。 3. **分发试计划**:将试计划文件复制到所有参与试的服务器上。 #### 第四步:协调与控制 1. **负载均衡**:根据实际需求分配任务给各个服务器,可能需要使用额外的工具如LoadRunner或Zabbix等来监控和控制流量分配。 2. **日志分析**:为了更好地理解系统响应以及发现潜在瓶颈,设置详细的日志记录,并定期查看日志信息。 #### 第五步:执行分布式试 1. **同步执行**:通过脚本或者其他自动化手段触发所有服务器同时开始执行试计划。 2. **监视与调整**:使用JMeter自带的日志功能或外部监控工具监视试过程,必要时调整服务器资源分配或试策略。 #### 第六步:分析结果 1. **聚合报告**:通过JMeter的聚合报告功能合并各服务器的试结果,生成全面的性能试报告。 2. **优化调整**:基于试结果分析系统性能瓶颈,针对性地优化代码或架构设计。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值