​深入理解JMeter性能测试日志:分析并发用户行为与吞吐量指标

news/2024/7/3 3:57:10

在进行软件性能测试时,使用Apache JMeter等工具能够生成详尽的测试报告和日志。这些数据对于评估应用程序的性能至关重要。本文将针对JMeter生成的压测日志数据进行详细解析,并解释特定字段的意义。

日志数据摘要:

以下是整个JMeter压测日志的数据:

Creating summariser <summary>
Created the tree successfully using script/XXX查询.jmx
Starting standalone test @ Sun Jul 24 02:49:48 CST 2022 (1658602188821)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +    416 in 00:00:11 =   38.7/s Avg:  2204 Min:   557 Max:  3968 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary +   1482 in 00:00:30 =   49.4/s Avg:  2047 Min:  1017 Max:  4384 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =   1898 in 00:00:41 =   46.6/s Avg:  2081 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1649 in 00:00:30 =   55.0/s Avg:  1822 Min:  1011 Max:  3517 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =   3547 in 00:01:11 =   50.1/s Avg:  1961 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1725 in 00:00:30 =   57.5/s Avg:  1735 Min:   781 Max:  2819 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =   5272 in 00:01:41 =   52.3/s Avg:  1887 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1726 in 00:00:30 =   57.5/s Avg:  1734 Min:  1093 Max:  2525 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =   6998 in 00:02:11 =   53.5/s Avg:  1849 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1730 in 00:00:30 =   57.6/s Avg:  1734 Min:   977 Max:  2745 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =   8728 in 00:02:41 =   54.3/s Avg:  1826 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1725 in 00:00:30 =   57.5/s Avg:  1736 Min:  1092 Max:  2483 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =  10453 in 00:03:11 =   54.8/s Avg:  1811 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1737 in 00:00:30 =   57.8/s Avg:  1731 Min:   848 Max:  2447 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =  12190 in 00:03:41 =   55.2/s Avg:  1800 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1722 in 00:00:30 =   57.5/s Avg:  1735 Min:   783 Max:  2429 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =  13912 in 00:04:11 =   55.5/s Avg:  1792 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1731 in 00:00:30 =   57.6/s Avg:  1735 Min:  1051 Max:  2471 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0
summary =  15643 in 00:04:41 =   55.7/s Avg:  1786 Min:   557 Max:  4384 Err:     0 (0.00%)
summary +   1217 in 00:00:21 =   58.9/s Avg:  1729 Min:  1052 Max:  2408 Err:     0 (0.00%) Active: 0 Started: 100 Finished: 100
summary =  16860 in 00:05:01 =   55.9/s Avg:  1782 Min:   557 Max:  4384 Err:     0 (0.00%)
Tidying up ...    @ Sun Jul 24 02:54:50 CST 2022 (1658602490697)
... end of run

关键指标解释:

首先,让我们关注日志中的几个关键指标:

  • summary: 这个前缀表示接下来的行是关于测试摘要的信息。
  • in: 表示在某个时间段内完成的请求数量。
  • 吞吐量: 以每秒处理的请求数(Requests per second, RPS)的形式呈现,用于评估系统的性能和处理能力。
  • Avg: 平均响应时间(单位通常是毫秒)。
  • Min 和 Max: 分别代表最小和最大响应时间。
  • Err: 错误率,即失败的请求占总请求的比例。
  • Active、Started 和 Finished: 这三个参数描述了虚拟用户的活跃状态。

以日志中的一条记录为例:

summary +   1731 in 00:00:30 =   57.6/s Avg:  1735 Min:  1051 Max:  2471 Err:     0 (0.00%) Active: 100 Started: 100 Finished: 0

这条记录表明,在过去的30秒内,有1731个请求被成功处理,平均每秒处理约57.6个请求。每个请求的平均响应时间是1735毫秒,最短的响应时间是1051毫秒,最长的响应时间是2471毫秒。在这期间没有发生任何错误,错误率为0%。

现在,我们来分析一下summary =的日志信息。这个部分通常出现在两个连续的summary +之间,用于汇总之前一段时间内的测试结果。例如,第一行的summary =   1898 in 00:00:41 =   46.6/s Avg:  2081 Min:   557 Max:  4384 Err:     0 (0.00%)表示在前面的41秒内,共完成了1898个请求,平均每秒处理约46.6个请求,每个请求的平均响应时间是2081毫秒,最短的响应时间是557毫秒,最长的响应时间是4384毫秒,错误率为0%

接下来,我们来看“Active: 100 Started: 100 Finished: 0”的含义:

  • Active: 当前活跃的并发用户数。在这个例子中,有100个虚拟用户正在执行任务。
  • Started: 启动的用户总数。这里也是100,意味着所有配置的用户都已经启动并开始执行测试。
  • Finished: 完成测试的用户数。这里的0表示还没有用户完成他们的测试任务。

通过观察这三个值的变化,我们可以了解并发用户的行为模式。例如,如果Finished的值开始增加,那么说明一些用户已经完成了他们的测试任务。

结论:

总结来说,JMeter的压测日志提供了丰富的信息,帮助我们理解应用程序在不同负载下的表现。通过对这些数据的分析,我们能够识别瓶颈、优化性能,并最终确保应用在高并发环境下依然稳定可靠。


http://lihuaxi.xjx100.cn/news/2125465.html

相关文章

富格林:合理调整策略阻挠受害

富格林悉知&#xff0c;黄金作为一种重要的避险资产和价值储备&#xff0c;一直以来都备受投资者的青睐。在金融市场波动频繁的情况下&#xff0c;现货黄金更是成为了投资者多元化资产配置中的重要选择之一。然而&#xff0c;若想要在市场中阻挠受害&#xff0c;掌握做单手法及…

面向对象【Annotation注解】

文章目录 注解概述注解与注释常见的 Annotation最基本的注解使用@Override@Override@SuppressWarnings元注解@Retention@Target@Documented@Inherited自定义注解格式定义使用注解概述 注解(Annotation)是从 JDK5.0 开始引入,以“@注解名”在代码中存在。例如: @Override @D…

Bean对象拷贝工具封装

在平时后端开发的过程中&#xff0c;经常要把对象封装成DTO,VO对象&#xff0c;来与前端进行交互 下面就是自己封装的对象拷贝工具&#xff1a; public class BeanCopyUtils {private BeanCopyUtils() {}public static <V> V copyBean(Object source,Class<V> cl…

1.使用eNSP绘制拓扑图实训

1&#xff0e;实训目的 掌握使用eNSP绘制拓扑图的方法。 2&#xff0e;应用环境 某企业需要提升自己的网络环境&#xff0c;为了保证项目顺利的实施&#xff0c;需要使用eNSP事先绘制拓扑图。 3&#xff0e;实训设备 安装有eNSP的计算机。 4&#xff0e;实训内容 按照设…

【Java程序设计】【C00374】基于(JavaWeb)Springboot的社区疫情管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

《技术与市场》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a; 问&#xff1a;《技术与市场》属于什么级别期刊&#xff1f; 答&#xff1a;省级&#xff1b;主管单位:四川省科学技术厅 主办单位:四川省科学技术信息研究所 问&#xff1a;《技术与市场》是核心期刊吗&#xff1f; 答&#xff1a;不是&#xff0c;只…

生成可读取配置文件的独立运行jar程序

前言: 周五刚躺下,前线打来语音要个下载文件的小程序,下载路径和下载码需要根据配置获取,程序需要在服务器执行。当然配置的设计是个人设计的,不然每次更新下载码都要重新出具jar包,太麻烦。多年没写独立运行的jar包了,翻阅了相关资料,最终还是功夫不负有心人。想着这种…

MATLAB:微分方程(组)数值解

一、显式微分方程 clc,clear tspan [0:10]; y0 2; [t1,y1] ode23(odefun_1,tspan,y0); %求数值解&#xff0c;精度相对低 [t2,y2] ode113(odefun_1,tspan,y0); %求数值解&#xff0c;精度相对高 yt sqrt(tspan1)1; %求精确解 subplot(1,2,1) plot(t1,y1,bo,t2,y2,r*,tspa…