性能测试 —— Jmeter 命令行压测-单机/分布式

单机压测

1、准备工作

①压力机上配置好JDK

②在windows下调试好jmeter脚本,然后上传至压力机上

③进入Jmeter 的bin目录下需要添加执行权限 chmod -R +x ./*

2、单机压测步骤

①执行命令:

jmeter -n -t pinter.jmx -l result.jtl

-n:no-gui,命令行模式

-t:jmx脚本路径

-l:jtl结果文件存放路径

②概要日志数据解释

图片

+:表示过去10s执行情况

=:表示脚本从开始运行到现在的情况

在Jmeter的bin/jmeter.properties中可修改控制台取样间隔的时间。

summariser.interval=10,默认为30秒

③查看结果报表

方式一:把生成的jtl文件下载下来,在GUI界面的聚合报告里打开,可以展示tps和 应时间等数据

图片

方式二:生成html报表

进入jmeter的bin目录下,修改reportgenerator.properties修改jmeter.reportgenerator.overall_granularity=1000(设置报表中数据展示间隔1秒,默认值为1分钟)
创建一个存放数据报表的文件夹report
执行命令:jmeter -g result.jtl -o report,会在report下生成数据文件-g:指定jtl文件的路径-o:指定html报表生成到哪个文件夹下

图片

执行命令zip -r report.zip report,将文件夹进行压缩

图片

下载压缩文件夹,使用浏览器打开index.html

分布式压测

1、为每台压力机配置主机名

输入hostname可查看主机名永久修改主机名:hostnamectl set-hostname 主机名
编辑/etc/hosts文件,绑定ip和主机名,格式为192.168.50.144 zhuyaliji输入reboot,重启压力机之后,主机名生效

2、分布式测试步骤

在每台机器上都部署Jmeter如果是java脚本,将java脚本相关lib包都放在jmeter目录lib/ext下
将jmeter的场景文件jmx上传到主jmeter的任意位置,参数文件放到每一台压力机上,存放目录要相同修改jmeter.properties文件,去掉ssl.disable=true前面的注释
在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)6、在主jmeter的bin目录下,修改jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,remote_hosts=127.0.0.1,192.168.0.102
在主jmeter的机器上,执行jmeter -n -t pinter.jmx -l result.jtl -r-r:remote

注意:

①如果是http脚本,在controller的机器上有脚本文件即可

②如果是Java脚本,在每一台机器上都得有脚本文件和依赖的jar包

③每台机器的防火墙都要关闭

命令行压测问题排查思路

查看当前目录下的jmeter.log查看Jmeter中bin目录下的jmeter-server.log查看生成的.jtl文件把jmx文件在GUI模式下执行,在查看结果树当中勾选 仅错误日志,并填写一个文件名(最好是.xml格式)用于记录错误日志

图片

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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、付费专栏及课程。

余额充值