目录

1 概述

2 系统简介

3 测试指标

4 测试工具和测试策略

5 测试结果数据以及截图

6 测试结论


1 概述

1.1性能测试概念

性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统的各项性能指标的变化情况。压力测试是通过一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

1.2性能测试目的

性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以及优化软件,最后起到优化系统的目的。

1.3性能测试目标

从安全,可靠,稳定的角度出发,找出性能缺陷,并且找出系统最佳承受并发用户数,以及并发用户数下长时间运行的负载情况,如并发100用户,如何对系统进行调优

性能测试主要包括以下几个方面:

(1)评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策。

(2)识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方。

(3)系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进系统性能。

(4)检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或冲突。

(5)验证稳定性、可靠性:在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

1.4性能测试的常见分类

(1)负载测试:负载测试是指通过测试系统在资源超负荷情况下的表现,来发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作条件下的性能行为,以及持续正常运行的能力。负载测试的目的是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,如响应时长、事务处理速率和其他与时间相关的性能指标。

(2)压力测试:在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个web站点在大量的负荷下,何时系统地响应会退化或失败。

(3)容量测试:容量测试确定系统可处理同时在线的最大用户数。

2 系统简介

2.1参考资料

性能相关的测试资料

2.2要做的测试

压力测试

基准测试

2.3测试环境

(1)硬件环境

(2)软件环境

3 测试指标

测试时间:2018年10月10日~10月11日

测试范围:客户端请求信息时,服务器各项性能指标的性能测试

3.1 Jmeter指标

(由于Apache旗下性能测试工具jmeter收集的性能指标偏少,下面的数据选取代表性指标)

(1)Averge/ms:服务器处理事务平均响应时间(表示客户端请求到服务器处理信息且反馈客户端的时间)

响应时间=呈现时间+网络传输时间+服务器端响应时间+应用延时时间

在互联网上对于用户响应时间,有一个普遍的标准。2/5/10秒原则。

  也就是说,在2秒之内给客户响应被用户认为是“非常有吸引力”的用户体验。在5秒之内响应客户被认为“比较不错”的用户体验,在10秒内给用户响应被认为“糟糕”的用户体验。如果超过10秒还没有得到响应,那么大多数用户会认为这次请求是失败的。

(2)Throughput/s:服务器每秒处理请求数(表示服务器每秒处理客户端请求数(单位:个/秒))

(3)Error%:采样发生错误的比率

(4)KB/s:服务器每秒接收到的数据流量(表示服务器每秒接收到客户端请求的数据量KB表示)

3.2 硬件指标

(1)%Processor time:CPU使用率(平均低于75%,低于50%更佳)

(2)System:Processor Queue Length:CPU队列中的线程数(每个处理器平均低于2)

(3)Mermory:Page/sec:内存错误页数(平均低于20,低于15更佳)

(4)Physical Disk-%Disk time:磁盘使用率(平均低于50%)

4 测试工具和测试策略

测试工具:Apache-jmeter

测试策略: 根据公司内部实际情况,以及业务分布设置数据库访问量及并发用户数

测试数据: 注册用户、店铺数据、商品数据

数据说明:选取的数据均为代表性数据

测试场景:1)、访问机场东大厅、西大厅店铺、以及店铺商品

2)、业务全链路测试:注册、登录、添加信用卡,提交订单、支付

3)、订单查询

5 测试结果数据以及截图

前提条件:假定用户数为50个用户数时,并发访问后台

5.1 Jmeter 性能指标

5.1.1 店铺访问测试结果及分析

总体考试情况:

指标

测试值

压测时长

20分10秒

并发数

100个线程(等价100个虚拟用户)

平均响应时间

10556毫秒

最大响应时间

41595毫秒

吞吐量

7.3/sec

容错率

0.01%

各项测试详情:

1.Average/ms

数据分析:

本图表示服务器处理请求的平均相应时间

最佳性能是随着并发用户数的增加,平均事务相应时间比较平缓

本图清晰的可以看到,随着并发用户数的增加事务响应也随着上升

2.Throughput/s

数据分析:本图表示服务器每秒处理请求个数

最佳性能服务器处理请求数是随着用户的增加而增加

本图可以直观看到服务器处理请求数的个数并未随着用户的增加而增加

3.请求总数与用户图数

数据分析:

平均响应时间超出预期,当并发超过60个用户时,达到用户体验糟糕的情况

5.1.2 提交订单和支付测试结果及分析

总体测试情况:

指标

测试值

压测时长

19分17秒

并发数

30个线程(等价30个虚拟用户,实际订单和支付的并发只有20)

平均响应时间

15673毫秒(invoice+pay)

最大响应时间

27040毫秒(invoice+pay)

吞吐量

2.2/sec(invoice+pay)

容错率

1.62%(invoice+pay)

各项测试详情:

1.Average/ms

数据分析:

本图表示服务器处理请求的平均相应时间

最佳性能是随着并发用户数的增加,平均事务相应时间比较平缓

本图清晰的可以看到,随着并发用户数的增加事务响应也随着上升

2.Throughput/s

数据分析:本图表示服务器每秒处理请求个数

最佳性能服务器处理请求数是随着用户的增加而增加

本图可以直观看到服务器处理请求数的个数随着用户的增加而增加

3.请求总数与用户图数

pay接口错误返回:{"code":"102","message":"Reject by processor: Error 1062: Duplicate entry '1000-153924520194' for key 'acq'"}

5.1.3 查看订单测试结果及分析

总体测试情况:

指标

测试值

压测时长

15分19秒

并发数

50个线程

平均响应时间

9467毫秒

最大响应时间

30073毫秒

吞吐量

3.9/sec

容错率

0.03%

各项测试详情:

1.Average/ms

数据分析:

本图表示服务器处理请求的平均相应时间

最佳性能是随着并发用户数的增加,平均事务相应时间比较平缓

本图清晰的可以看到,随着并发用户数的增加事务响应也随着上升

2.Throughput/s

数据分析:本图表示服务器每秒处理请求个数

最佳性能服务器处理请求数是随着用户的增加而增加

本图可以直观看到服务器处理请求数的个数并未随着用户的增加而增加

3.请求总数与用户图数

5.2 硬件指标

观测后台两台主要的服务器,CPU使用率大部分时候介于50%~65%,高峰时达到70%到85%,最高峰是达到92.2%。

6 测试结论

6.1 Jmeter性能指标分析

由Jmeter性能指标最直观的可以看出网络性能的不足,客观的反映出服务器处理能力存在优化空间

1、店铺访问测试,主要是模拟用户未登录情况访问机场店铺的场景。模拟100个用户同一时间不间断查询店铺信息,在负载测试情况下,响应时间过长。

2、订单提交和支付测试,主要是模拟20个用户并发同时下单场景,吞吐量均为1.1/sec,相对于后台的invoice和pay这两个接口都是1秒只能处理一个请求。需要评估是否有优化的空间

3、查询订单接口测试,主要模拟客户端2秒请求一次订单接口的场景。响应时间也过长,这样会在订单状态变化中,如果不停请求,可能会出现新旧状态不停切换的情况,所以响应时间会跟不上2秒请求一次的时间间隔,频率是否可做调整。

优化建议:待定

6.2 服务器硬件信息监控数据分析

结合Jmeter性能指标和多个硬件监控图

优化建议:无

性能测试报告包括哪些内容?模板范文哪里找?看这里相关推荐

  1. 性能测试报告(方案)模板

    第1章    概述 1.1   目的 说明为什么要进行此测试:参与人有哪些:测试时间是什么时候:项目背景等. 编写此测试方案的目的是通过测试确认软件是否满足产品的性能需求,同时发现系统中存在的性能瓶颈 ...

  2. 性能测试报告内容参考

    最近一些项目中涉及到性能测试,之前有进行过相关测试,测试报告主要以测试结果和bug数据直接反馈给项目组,没有做过比较正式的报告. 目前涉及到的报告主要是2种情境,一种是提供给客户,证明我们的系统的性能 ...

  3. 软件性能测试方案怎么编写?权威的性能测试报告如何申请?

    软件性能测试是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样.负载测试和压力测试都属于性能测试 ...

  4. 一文750字教你性能测试报告怎么写

    性能测试报告包含哪些内容 1.系统概述 2.测试目的范围与目标 测试目的 测试对象范围 测试指标范围 3.测试工具及环境 测试环境架构 性能测试环境 性能测试环境基本配置 测试工具 4.测试记录及结果 ...

  5. 性能测试报告模板_性能测试规范之测试报告

    1.1性能测试报告概述 在对结果进行分析并得出结论之后,性能测试工程师要把它们以文字报告的形式发送给相关人员,这就是性能测试报告.除了书面文字之外,可能的话,还会召集人员开专门的会议进行报告讲解和结果 ...

  6. 性能测试报告模板 V1.0

    1. 测试项目概述与测试目的 1.1 项目概述 本部分主要是针对即将进行压力测试的对象(接口.模块.进程或系统)进行概要的说明,让人明白该测试对象的主要功能与作用及相关背景. 1.2 测试目标 简要列 ...

  7. 让业务满意的性能测试报告模板应该是怎样的?

    小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...

  8. 软件测试报告需要包括哪些内容?测试人员收藏这份必备指南!!!

    软件测试报告是软件开发生命周期的重要组成部分,是测试人员编写的文档,用于记录测试的过程和结果,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础.软件测试报告 ...

  9. 工作简历写些什么比较好? 优秀的求职简历模板包括哪些内容

    一份优秀的求职简历模板都包括哪些内容呢?我们在工作简历模板制作的过程中,要写些什么才能吸引应聘公司的注意,在众多的面试者中脱颖而出,得到想要的工作呢?下面脚步网就来具体和大家讲一下吧. 1. 基本信息 ...

最新文章

  1. Linux之curl命令使用详解—网络故障定位(五)
  2. [密码学] 因子分解
  3. 自学Springboot(一)
  4. opencv java match_OpenCV模板匹配函数matchTemplate详解
  5. urllib.request.urlopen(req).read().decode解析http报文报“‘utf-8‘ codec can‘t decode”错处理
  6. php findbysql,hibernate的findByExample
  7. 378. 有序矩阵中第K小的元素
  8. python程序源码百行_百行python代码,轻松完成贪吃蛇小游戏
  9. 分布式和微服务_太难了!阿里三面凉透~ Spring+高并发+算法+分布式微服务等等一个都没讲不清...
  10. 诗意的边缘(PHP顶级框架Zend Fr
  11. python网络编程学习笔记(9):数据库客户端
  12. c语言函数怎么返回,C语言函数的返回值应该怎么返回
  13. 一种用FFmpeg直接录屏并直播的方法
  14. pythonhistogram设置_python numpy histogram用法及代码示例
  15. Vue中插入base64图片
  16. App上线相关法律常识
  17. 【线代NumPy】第五章 - 行列式课后练习 | 伴随矩阵求逆 | Cramer公式求联立方程 | 简述并提供代码
  18. SMARTBI权限管理
  19. 入学校计算机社团申请书,学校社团成立申请书
  20. 记录一次Golang逃逸分析

热门文章

  1. OLED QLED LED等发光器件, IVL测试软件
  2. Speedoffice (word)文档里面怎样自动生成目录
  3. excel基础-note-4.25
  4. jQuery(简介、特点、使用方法、【重点】jQuery的选择器:是jQuery的灵魂、jQuery的属性:操作标签的属性)
  5. czl蒻蒟的OI之路5
  6. 如何ping通github
  7. toLocaleString也太好用了吧!(超方便转千分位,中文数字等)
  8. 多智能体强化学习(五)MARL的挑战
  9. 骚操作之Python微信远程控制摄像头!然后嘿嘿嘿!
  10. Navicat 15注册时报错“Rsa Public key not find“的解决办法