linux下Jmeter分布式压测环境搭建及配置

一、使用缘由
目的:通过压测,熟悉项目的各项指标,同时观察压测结果及监控数据,目的是根据各项数据尝试调整各项参数完成单机调优。

目前,自动化构建+压测是这么一个过程:

项目(java案例)提交时通过webhook执行jenkins构建

jenkins构建完成后产生交付物到云仓库

服务器拉取交付物(jar包),部署启动环境,同时启动项目。

配置Jmeter分布式压测(多台机器同时发起请求)

Jmeter开启压测。

之后,集成jenkins+grafana+prometheus完成压测监控

配置jenkins构建,通过脚本执行压测命令

配置grafana+prometheus完成对服务器的监控(内存使用率、cpu使用率等等)

根据各项指标,调整jvm等参数完成单机调优

本文主要描述Jmeter分布式压测的配置过程,后续将继续完成整个自动化测试过程。

二、配置流程
1.下载jmeter安装包

网上到处都有安装包,暂且我的云仓库可提供下载地址:

http://bucket-local-2.oss-cn-beijing.aliyuncs.com/apache-jmeter-5.2.1.tgz

在shell上直接用wget命令获取即可

[root@dylan test]# wget http://bucket-local-2.oss-cn-beijing.aliyuncs.com/apache-jmeter-5.2.1.tgz

下载完成后解压包:

[root@dylan jmeter]# sudo tar -zxvf apache-jmeter-5.2.1.tgz

修改环境变量,在/etc/profile的export下增加一行:

export PATH=$PATH:/mnt/jmeter/apache-jmeter-5.2.1/bin

执行命令: source /etc/profile 使环境变量生效即可

验证结果:


注意:后续的调度机(master)和执行机(slave)都需要安装jmeter

2.配置调度机

调度机作用:用来调度其他机器,完成jmeter测试

调度机(master)的当前ip为:192.168.196.216

执行机(slave)的当前ip为:192.168.196.17

请根据自己的服务器进行修改

(1).修改配置文件

进入apache-jmeter-5.2.1/bin 目录,按以下配置修改jmeter.properties配置文件(server_port=2099注释掉也没问题)

remote_hosts=192.168.196.17:1099

server_port=2099

server.rmi.ssl.disable=true

简述:

remote_hosts 为执行机的ip及端口,多个执行机可通过英文逗号 "," 进行拼接

图:

(2).生成密钥:rmi_keystore.jks

进入 apache-jmeter-5.2.1/bin 目录,执行命令:

[root@dylan bin]# sudo ./create-rmi-keystore.sh

将会生成文件 rmi_keystore.jks 需要将它复制到执行机的 apache-jmeter-5.2.1/bin目录下

如图:


此时, 调度机已配置完成。

3.配置执行机

执行机描述:顾名思义,它是执行压测发起的机器,它开启线程来发出请求

执行机(slave)的当前ip为:192.168.196.17

请根据自己的服务器进行修改

(1).修改配置文件

进入apache-jmeter-5.2.1/bin 目录,按以下配置修改jmeter.properties配置文件

server.rmi.ssl.disable=true

如图:


(2).修改配置文件 system.properties

在apache-jmeter-5.2.1/bin目录下执行命令:sudo vim system.properties

在system.properties的文件最后一行增加以下配置

java.rmi.server.hostname=192.168.196.17

如图:


操作完成后, 将调度机产生的密钥文件:rmi_keystore.jks 放置到jmeter目录下。

(3).验证启动状态

在/apache-jmeter-5.2.1/bin下执行命令:sudo ./jmeter-server

若出现以下示例,则证明执行机配置成功


此刻,二者都已配置完毕,需要进行操作验证

4. 调度测试

通过jmeter操作界面生成测试文件test.jmx 放置在调度机的某个目录下。

之后,开启服务端,进入执行机 jmeter的bin目录下,启动执行机:

[root@iZ2ze8pbai447rborr4wtfZ bin]# sudo ./jmeter-server

在调度机执行test.jmx完成分布式压测:

[root@dylan my_threads]# jmeter -n -t test.jmx -r -l test.jtl

命令说明:

-n 告诉jmeter使用非GUI模式执行测试

-t 执行的测试脚本名

-r 远程执行 , 在Jmter.properties文件中指定的所有远程服务器

-l 结果文件,如果不写路径,则在执行目录生成

产生类似以下结果,则证明配置完成:

调度机:

执行机:


linux下Jmeter的分布式压测模拟已完成。

原文链接:
https://blog.csdn.net/qq_37822090/article/details/105145354 作者:牛鹭教育软件测试 https://www.bilibili.com/read/cv15819564 出处:bilibili

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值