性能测试|JMeter压测结果分析

本文详细介绍了如何使用JMeter进行压力测试,包括配置HTTP请求,提取响应数据,分析聚合报告,以及对本地Python服务和Nginx服务器的压力测试。文中提到了正则表达式和JSON表达式两种方式来过滤响应数据,并展示了不同线程数下的测试结果和资源使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看结果树

对 https://ceshiren.com/t/topic/1369.json 发起请求

1、增加线程组、HTTP Request、添加结果树,配置协议、域名、请求地址,如下图所示:

在这里插入图片描述

请求结果如下图所示:

在这里插入图片描述

响应结果默认的是text文本格式

在这里插入图片描述

(1)第一种方式:正则表达式过滤:

#配置id的数据的正则表达式: 
"id":.*?.

在这里插入图片描述

(2)第二种方式:json表达式过滤:

#json表达式 
.post_stream.stream[0]

在这里插入图片描述

聚合报告

一、对 https://ceshiren.com/t/topic/1369.json 发起请求

当我们进行压压力测试完后,最关心就是测试数据了。

1、在分析聚合报告之前,我们先来了解聚合报告都包含了什么内容

  • Aggregate Report(聚合报告)参数:
    • 平均值:平均响应时间,所有请求的平均响应时间。
    • 中位数:50%的用户响应时间不超过这个值。
    • 99% Line: 99%的用户响应时间不超过这个值。
    • Error%:异常百分比。(错误请求的数量/请求的总数)
    • Throughput:吞吐量,默认情况下每秒完成的请求数。
    • Received KB / sec:接收数据。

2、在测试计划(Test Plan)添加线程组、聚合报告(Aggregate Report),在线程组下添加HTTP Request,如下图所示:

在这里插入图片描述

3、发送正确的请求
在这里插入图片描述

成功请求后显示的聚合报告数值:
在这里插入图片描述

4、发送错误的请求
在这里插入图片描述

当我们进行压压力测试完后,最关心就是测试数据了,下面我们一起来分析Jmeter聚合报告数据。聚合报告如下图所示:
在这里插入图片描述

二、对本地python服务发起请求

1、启动一个服务,端口号是8081

在这里插入图片描述

2、在测试计划(Test Plan)添加线程组、聚合报告(Aggregate Report),在线程组下添加HTTP Request,如下图所示:
在这里插入图片描述

3、请求之后会返回信息

在这里插入图片描述

4、在线程组设置循环运行

设置线程数为1,一直循环运行:

在这里插入图片描述

在这里插入图片描述

本地的服务相对比较稳定,设置一直循环运行还没有出现问题

在这里插入图片描述

10个线程同时跑的数值:

在这里插入图片描述

10线程同时运行出现了异常数据:

在这里插入图片描述

5、使用命令行方式查看聚合报告

一般在测试的时候不使用图形化界面,因为会消耗一些的资源,可以使用命令行的方式运行

sh jmeter.sh -n -t test_http.jmx -l test_http.jtl
#-n:不开启图形化界面
#-t:制定测试计划
#-l:指定输出的结果

在这里插入图片描述

打开测试计划的jmx文件,这个需要在图形化界面设置好之后保存下来的。放在jmeter的bin目录下

在这里插入图片描述

请求之后返回的结果,30s刷新一次

在这里插入图片描述

三、对nginx进行压力测试

在docker安装nginx

#拉取nginx:
docker pull nginx:1.17.
#nginx:镜像名字
#1.17.9版本信息

2、 部署nginx

(1)nginx部署方式1:

docker run -d --name nginx -p 8088:80 nginx:1.17.9
#后台运行:d
#端口:8088
#映射端口:80

(2)nginx部署方式2:

# 挂载目录:
docker run -d --name nginx -p 8088:80 -v ${PWD}/nginx/html:/usr/share/nginx/html nginx:1.17.9
#:-v:挂载目录
# ${PWD}/html 其中html是可以修改名称
# /iusr/share/nginx/html 其中html是不可以修改的,这是容器的路径,这个路径一定不能错

3、查看docker进程

docker ps

在这里插入图片描述

4、查看nginx资源使用率

docker stats nginx

在这里插入图片描述

5、编辑测试计划

# 编辑test_http.jmx,test_http.jmx是在本地上传上来的
vim test_http.jmx

在这里插入图片描述

6、 查看聚合报告命令

# 查看聚合报告命令
sh jmeter.sh -n -t test_http.jmx -l test_http.jtl

在这里插入图片描述

对应的列和jmeter界面化是一样的。

更多技术文章

视频干货合集

2024最新Python3.1x软件测试开发必备语法基础讲解

7天软件测试快速入门教程

测试开发精品公开课合集

测试开发/自动化测试/性能测试/精准测试/测试左移/测试右移/人工智能测试

大厂面试真题解析

JMeter实时性能监控平台


另免费赠送软件测试开发方面的专业资料包!助您事半功倍,提升技能,把握职场先机。

软件测试职业发展
在这里插入图片描述
零基础入门
在这里插入图片描述

测试必备编程篇
在这里插入图片描述
自动化测试
在这里插入图片描述
性能测试
在这里插入图片描述
测试管理
在这里插入图片描述
工程效能篇
在这里插入图片描述
面试求职篇

软件测试的面试宝典,内含一线互联网大厂面试真题、面试技巧、软件测试面试简历指导,免费领取!
在这里插入图片描述

### 如何使用 JMeter 进行试 #### 下载与安装 为了能够顺利开展基于JMeter试工作,需先完成软件的下载和安装过程。确保按照官方指南获取最新版本并正确部署到本地环境中[^1]。 #### 初始化配置 进入JMeter界面之后,可以根据个人偏好调整语言及外观设置,以便更高效地操作该工具。这一步骤虽然不是必须项,但对于提高用户体验至关重要。 #### 创建试计划 创建一个新的试计划作为所有后续组件的基础容器,在此之下逐步构建完整的试框架结构。每一个具体的场景都将围绕着某个特定的试计划展开[^2]。 #### 添加线程组 在线程组中定义模拟用户的数量以及这些虚拟用户的行为模式(例如启动延迟、循环次数)。这是控制并发量的关键环节之一,直接影响最终得到的数据准确性。 #### 配置取样器 通过HTTP请求默认取样器或其他类型的取样器来指定目标服务器地址及其端口等信息,从而实现向被系统发送实际流量的目的。对于Web应用而言,通常会选择前者;而对于其他服务,则可能需要用到不同的协议支持。 #### 设置监听器 添加诸如“查看结果树”、“聚合报告”之类的监听器用于收集执行期间产生的各项指标数据,并以直观的形式展示出来供分析人员查阅。合理利用多种不同功能特性的监听器可以帮助更好地理解系统的响应特性。 #### 清除旧记录 当准备开启新一轮试验之前,请记得清理掉上一次遗留下来的历史痕迹——点击界面上方类似扫帚图标的按钮即可轻松搞定这项任务。保持环境纯净有助于获得更加精确可靠的量数值[^3]。 #### 调整参数 依据具体需求灵活调节各个部分涉及的相关参数设定值,如增加/减少参与试的总人数或是改变它们之间相互协作的方式方法。适当优化这些细节往往能在很大程度上改善整体效果表现。 #### 执行试 最后保存好精心设计好的整个方案文件,随后便可以直接运行起来观察实时反馈情况了。随着进程推进,密切关注各类统计图表变化趋势,及时发现潜在瓶颈所在之处。 ```bash # 启动JMeter GUI模式命令 jmeter -t /path/to/testplan.jmx ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值