【性能测试】JMeter聚合报告和性能分析

一、简介

  • 2-5-10原则
    一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;
    当用户在2-5秒之间 得到响应时,会感觉系统的响应速度还可以;
    当用户在5-10秒以内得到响应时,会感觉系统的 响应速度很慢,但是还可以接受;
    而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。

二、性能测试的目的和关键

检查系统是否满足需求文档中规定的性能;性能测试常常需要和强度测试结合起来,并常常要求进行软件和硬件的检测。
性能测试的主要关注对象是响应时间、吞吐量、占用内存大小(辅助存储区)、处理精度等。

三、服务端性能分析都从哪些角度来进行

从维度上划分,性能指标主要分为两大类,分别是业务性能指标和系统资源性能指标。

  • 业务性能指标可以直观地反映被测系统的实际性能状况,常用的指标项有:
    1.并发用户数
    2.事务吞吐率(TPS/RPS)
    3.事务平均响应时间
    4.事务成功率

  • 系统资源性能指标,主要是反映整个系统环境的硬件资源使用情况,常用的指标包括:
    1.服务器:CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状态、网卡带宽使用
    情况等;
    2.数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量等;
    3.网络:网络吞吐量、网络带宽、网络缓冲池大小;
    4.缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量等;
    5.测试设备(压力发生器):CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状态、网卡带宽使用情况等

四、性能测试常识

1、并发测试时服务日志级别需调整为error级别;
2、通常请求由一个线程负责执行,占用一个逻辑CPU;
3、性能测试脚本,最好不要有耗时的检查操作,会导致实际并发压力下降;
4、CPU负荷、内存负荷集中在应用服务器和数据库服务器上 (CPU:负责运算和处理,内存:交换数据);
5、磁盘负荷集中在数据库/文件服务器上;
6、对外网络流量集中在负载均衡器上;

五、线程组配置详解

在这里插入图片描述

  • Number of Threads(users):线程数(即并发数);一个用户占一个线程,200个线程就是模拟200个用户
  • Ramp-Up Period(in seconds):设置线程需要多长时间全部启动;如果线程数为200,准备时长为10,那么需要1秒钟启动20个线程;也就是每秒钟启动20个线程
  • Loop Count:并发执行次数,一次场景下来,请求的数量=线程数 * 循环次数;如果线程数为200,循环次数为10 ,那么每个线程发送10次请求;总请求数为200*10=2000 ;如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本;

六、JMeter报告

在这里插入图片描述

  • Label:每个JMeter的element的Name值,例如HTTP Request的Name;
  • Samples(样本):发出请求数量;模拟20个用户,循环100次,所以显示了2000;
  • Average(平均值):平均响应时间(单位:ms);默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以 Transaction为单位显示平均响应时间;
  • Median(中位数):50%的用户响应时间小于这个值;
  • 90%Line(90%百分位):90%的用户响应时间小于这个值;
  • 95%LIne(95%百分位):95%的用户响应时间小于这个值;
  • 99%LIne(99%百分位):99%的用户响应时间小于这个值;
  • Min(最小值):用户响应时间最小值;
  • Max(最大值):用户响应时间最大值;
  • Eorror%(异常%):测试出现的错误请求数量百分比;请求的错误率 = 错误请求的数量/请求的总数;若出现错误就要看服务端的日志查找定位原因;
  • Throughput(吞吐量):简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好;
  • 接收KB/sec:每秒从服务器端接收到的数据量;
  • 发送KB/sec:每秒发送的数据量;

在这里插入图片描述

  • Sample#:编号类似id

  • Start Time:开始时间

  • Thread Name:线程名称

  • Label:请求名称

  • Sample Time:取样时间ms

  • Status:状态

  • Bytes:接受字节数

  • Sent Bytes:发送字节数

  • Latency:等待时间

  • Connect Time:链接时间

七、性能测试结果分析(依据第三章)

1、Eorror%(异常%)分析:确认错误率是否在允许的范围内;

2、Throughput(吞吐量)分析–最佳的并发数:如果吞吐量>并发数,则并发数可继续增加;若在压测的机器性能很好的情况下,出现吞吐量<并发数,说明并发数不能再增加,可往下减,找到最佳的并发数;

3、最大的并发数分析:不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数;

4、最大的TPS分析:不断的增加并发数,加到TPS达到一定值开始出现下降,那个值就是最大的TPS;

5、系统资源分析:压测时要时刻关注服务器CPU、内存、网络、数据库等使用情况;
在这里插入图片描述
6、性能瓶颈分析
CPU、TPS存在明显波动则存在性能瓶颈;
若并发量增加而CPU使用率未增加则存在瓶颈;

  • 12
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
嘉应学院 计算机学院 实 验 报 告 "课程名称 "软件测试 "实验名称 "压力测试工具"实验地点 "锡科405 " " " " "JMeter实践 " " " "指导老师 " "实验时间 "第11周 "提交时间 "第12周 " "班 级 " "姓 名 " "座 号 " " "一、实验目的和要求 " "学习目标:学习和掌握测试工具JMeter的使用。 " "知识要点:JMeter的要测试部件,创建测试计划和参数方法。 " "二、实验环境、内容和方法 " " " "实验环境:Windows 7 压力测试工具JMeter " " " "三、实验过程描述 " "1、JMeter的安装和运行 " " " " " " " " " "2、JMeter实例 " "多用户同时登录大学学籍管理系统 " " 运行badboy录制,在URL栏输入http://localhost:8080/myapp " " " " " " 将脚本导出为JMeter脚本 " " " " " " " "得到原始的JMeter脚本,用JMeter打开 " " " " " " " " " " " " " " " " " " " "修改原始脚本 " " " " " " " " 设置响应断言,添加响应文本 " " " " " " " " " " " " " " " " 添加聚合报告 " " " " " " " " 添加查看结果树 " " " " " "成功的请求 " " " "失败的请求 " " " " 使用"函数助手"从文件中读取数据 " " " " " " " " " "设置HTPP请求 " " " "3、查询MySql数据库 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "三、实验总结 " "JMeter主要用于性能测试。通过使用JMeter提供的功能,可以可视化地制定测试计划,包" "括使用什么样的负载、测试什么内容、传入的参数。同时,它提供了很多种图形化的测试" "结果显示方式,使我们能够简单地开始测试工作和分析测试结果。另外,JMeter作为一个" "开源工具,用户可以自由地对此工具进行扩展来满足自己的需要。测试计划描述了执行测" "试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Threa" "d Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating " "Controllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素" "(Config " "Elements)。打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只 " "能建立或者打开一个测试计划。现在我们开始填充一 个测试计划的内容,这个测试计划 " "向一个jsp文件和一个servlet发出请求,我们需要JMeter模拟五个请求者(也就是五个线" "程),每个请求者连续 请求两次。 " ----------------------- JMeter实验报告全文共9页,当前为第1页。 JMeter实验报告全文共9页,当前为第2页。 JMeter实验报告全文共9页,当前为第3页。 JMeter实验报告全文共9页,当前为第4页。 JMeter实验报告全文共9页,当前为第5页。 JMeter实验报告全文共9页,当前为第6页。 JMeter实验报告全文共9页,当前为第7页。 JMeter实验报告全文共9页,当前为第8页。 JMeter实验报告全文共9页,当前为第9页。
分析 JMeter性能测试结果,可以按照以下步骤进行: 1. 运行性能测试:使用 JMeter 运行性能测试计划,生成测试结果。 2. 查看聚合报告:在 JMeter 中,选择 "查看结果树" 或 "查看聚合报告",可以查看每个请求的详细结果。 3. 分析主要指标:主要关注以下指标来评估性能: - 响应时间:请求的平均响应时间、最大响应时间、最小响应时间等。 - 吞吐量:每秒钟完成的请求数量。 - 错误率:请求中出现错误的百分比。 - 并发用户数:同时模拟的用户数量。 4. 根据指标评估性能:根据上述指标,可以评估系统的性能表现。例如,较长的响应时间可能表示性能问题,较高的错误率可能表示系统不稳定。 5. 优化和调整:根据性能测试结果,确定需要优化的方面,如数据库查询优化、缓存调整、服务器配置调整等。然后重复性能测试,直到满足性能要求。 6. 监控系统资源:在运行性能测试期间,同时监控服务器的资源使用情况,如 CPU 使用率、内存占用、网络带宽等,以确定系统是否存在瓶颈。 7. 生成报告JMeter 提供了多种报告生成选项,如生成 HTML 报告、生成图表等,可以将测试结果可视化展示,方便分析和共享。 综上所述,通过分析 JMeter性能测试结果和监控系统资源,可以获得对系统性能的全面评估,并进行相应的优化和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值