目录

性能测试报告

1. 测试概述

1.1 测试目标

1.2 指标和术语

2. 环境、工具

2.1 测试环境

2.2 测试工具

3. 测试方案

3.1 测试类型

3.2 业务模型

3.3 加密验签处理

3.4 压力梯度

4. 测试结果

4.1 聚合报告

4.2 系统吞吐量

4.3 资源占用率

5. 分析和建议

5.1 测试结论分析

5.2 问题

性能测试报告

项目

XXX项目二期

版本

V1.00

作者

dayu

日期

2019.9.31

1. 测试概述

1.1 测试目标

描述本次测试的意义和目标

本次测试的目的在于探查XXX项目二期重构环境的系统业务处理性能,以及在高负载情况下的系统表现。

1.2 指标和术语

描述本次测试中涉及到的性能指标术语

术语

释义

并发数

测试时同时系统发出事务请求的数量,并发线程数用以模拟同时与系统建立连接的用户。

TPS(每秒事务数)

在每秒时间内系统可处理完毕的事务数。TPS很大程度体现系统性能能力。

错误率

经系统处理的事务出现错误的概率,对应着实际用户使用系统功能失败的情况。理想情况下错误率应保持极低水平。

资源占用率

服务器端各关键资源的使用比例,用于衡量系统硬件能力

2. 环境、工具

列出本次测试所涉服务器、客户机和测试工具

2.1 测试环境

服务器:

应用

机器

CPU、内存配置

API

ip地址

16核CPU、内存16G

MYSQL

ip地址

16核CPU、内存16G

客户机:

操作系统

CPU

内存

Windows10 专业版

I3- 4170 3.70GHZ

8G

2.2 测试工具

核心工具

版本

备注

Jmeter

3.3

提供并发请求能力

PerfMon Metrics Collector

2.1

Jmeter插件,用于收集服务器资源使用信息

ServerAgent

2.2.1

以伺服形式发送服务器资源使用信息

nMon

16h v2

实时收集服务器资源信息

3. 测试方案

3.1 测试类型

不同的性能测试场景可能使用不同的测试类型,需要明确

本次性能测试将主要采用以下几种测试类型:

基准测试:

在小并发条件下,探测系统各性能指标表现,作为后续比对基础。

 

压力测试:

由于无法准确预估用户访问量,因此考虑使用压力测试方法。压力测试旨在通过不断 增加系统并发处理事务数,增加系统负载,直到系统到达性能瓶颈。以此推算出系统 可承载用户和事务请求数。

稳定性测试:

将系统置于较长时间高负载场景下,探测系统是否出现稳定性缺陷。

3.2 业务模型

针对系统接口,究竟哪些需要被纳入压测范畴?不同事务应该以何种比例被调用,这是需要建模设计的,也是性能测试的难点之一。

通过对于项目架构和业务场景分析,设计以下业务模型进行模拟和测试:

场景1:简单业务场景

业务名称

接口地址

请求类型

并发比例

登录

/login

post

1

查询用户信息

/queryMemberInfo

get

1

 

 

场景2:混合业务场景

业务名称

接口地址

请求类型

并发比例

登录

/login

post

1

查询用户信息

/queryMemberInfo

get

1

交易查询

/listOrderPage

get

1

订单创建

/createOrder

post

1

 

3.3 加密验签处理

由于系统对于所有事务请求都进行了加密验签处理,因此在本次性能测试中,需要对请求报文进行一致的加密和签名。处理逻辑如下:

l 使用APP同样的加密签名代码,导出jar包做为加密工具类

l 使用jmeter前置处理器-beanshell处理器调用上述jar包方法实现请求参数加密

l 将加密签名后的请求参数存储为变量,后续接口调用时使用

3.4 压力梯度

对于3.2所述场景,分别进行梯度加压,从100并发开始,每次递增100并发数,直至到达系统瓶颈。

4. 测试结果

4.1 聚合报告

标签

样本数

平均(响应时间ms)

最小

最大

错误率

吞吐量(/s)

登录

50

28

20

38

0.00%

4.5977

查询member信息

50

1602

1292

2042

0.00%

4.07133

查看交易

50

705

512

920

0.00%

4.37828

创建订单

50

86

60

119

0.00%

4.55083

总体

200

605

20

2042

0.00%

15.11716

场景1-10并发-循环5次

 

标签

样本数

平均(响应时间ms)

最小

最小

错误率

吞吐量(/s)

登录

500

7612

40

26725

0.00%

15.84987

查询用户信息

500

30871

2369

49719

0.00%

6.96233

总体

1000

19241

40

49719

0.00%

13.91517

场景1-500并发-循环1次

 

标签

样本数

平均(响应时间ms)

最小

最大

错误率

吞吐量(/s)

登录

550

8326

33

22360

0.00%

20.34851

查询用户信息

550

36071

4362

58485

0.36%

6.7585

总体

1100

22199

33

58485

0.18%

13.51069

场景1-550并发-循环1次

 

标签

样本数

平均(响应时间ms)

最小

最大

错误率

吞吐量(/s)

登录

4500

12408

87

46269

0.00%

4.68807

查询用户信息

4500

35383

3792

65036

0.00%

4.63027

查看交易

4500

22832

711

46812

0.02%

4.64518

创建订单

4500

24973

81

58698

0.13%

4.67591

总体

18000

23899

81

65036

0.04%

18.50308

场景2-450并发-循环10次

4.2 系统吞吐量

场景1-550并发-循环1次

场景2-450并发-循环10次

4.3 资源占用率

最优负载条件下:

CPU使用率

内存占用率

磁盘使用率

5. 分析和建议

结合收集到的数据,给出对于系统性能关键点的分析

5.1 测试结论分析

经过多次测试和数据报表分析,可以得出如下结论:

1) 当总体并发用户数为450-500时,系统具有最优性能表现;当事务并发数超过500时,事务失败率整体上升,系统到达性能拐点。

2) 多事务混合条件下,系统巅峰TPS在90左右,平均吞吐量在13-18/s。

3) 在小压力条件下(10并发),最大事务响应时间为查询用户信息事务的2042毫秒,平均在600毫秒左右系统。整体事务微观响应速度较优。

4) 满负载条件下,登录具有最佳的性能表现,平均响应时间为7000-12000毫秒;查询用户信息事务性能较差,平均响应时间在30000-40000区间。满负载条件下系统整体微观响应时间较差。查询用户接口由于其使用极为频繁,建议进行SQL效率调优

5) 系统资源方面,内存占用率始终处于高位水平(90%以上),磁盘空间由于日志写入而不断被占用。

         

5.2 问题

测试过程中发现了如下显著问题:

1) 加密验签功能并未生效-现阶段任何签名均可通过验签。属于功能性问题,不影响性能表现。

2) 日志文件由于不断写入导致磁盘占满,建议调低系统日志级别,并做好定期日志备份。

3) 内存占用处于高位水平,需要进一步探查原因。

性能测试报告不会写?最标准的模板来了相关推荐

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

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

  2. 电商平台性能测试报告

                                                                        性能测试报告 概况 A3Mall是一个电商系统平台,是一个面向B ...

  3. [原]如何做一份精致的性能测试报告?

    如何做一份精致的性能测试报告? 以上是我在知乎提出的问题,感谢梧桐同学的回答,Quote中的文字是我的描述 在做系统的过程中会遇到需要对整个系统做测试的情况,包括一些基准测试,容量测试,压力测试等.如 ...

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

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

  5. 性能测试平台搭建及简单使用(jmeter分布式+influxdb2.0+grafana)附性能测试报告

    目录 一.jmeter分布式配置 1.分布式介绍 2.配置JDK 3.slave机器配置(linux系统为例,windows资源杂乱不建议使用) 4.master机器配置(windows系统为例,作为 ...

  6. 性能测试报告编写技巧

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

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

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

  8. 如何做一份精致的性能测试报告

    相比于普通的功能测试,性能测试对测试工程师的技能要求更高,一般来说,也只有中高级测试工程师才会有机会做性能测试. 本文通过下面三个部分来介绍 性能测试报告的目的 性能测试过程中的关注点有哪些? 如何做 ...

  9. 快速学习-Saturn性能测试报告

    Saturn性能测试报告 1. 测试目的 评估zk集群可以负荷的域数量 zk参数调优 2. 测试环境 ZooKeeper Ensemble (5) Version: 3.4.6 server id r ...

最新文章

  1. UA MATH565C 随机微分方程VI 扩散过程简介
  2. mysql 导入json_JsonToMysql(json导入mysql数据库工具)
  3. C#多线程学习(一) 多线程的相关概念
  4. [JavaScript] 使用ArrayBuffer和Blob编辑二进制流 下载文件
  5. kodi教程 linux,Kodi 设置教程 | Homepage of Zhikun Zhang
  6. Slog86_使用Sketch 设计ArthurSlog网站主页原型
  7. CAD看图软件中如何将CAD图纸由天正T20版本转换为T3版本?
  8. EasyBoot如何使用?EasyBoot制作多系统启动盘教程
  9. 谷歌浏览器无法安装扩展程序 – chrome无法添加crx插件的解决方法
  10. 计算机领域所有SCI期刊,计算机领域的所有SCI一区期刊,这是最顶级期刊了
  11. 安装软件时遇到 1152:Error extracting to the temporary location
  12. python 程序员专属情话_拿来就能用!Python 每天定时发送一句情话 | 原力计划
  13. 华为机试(Python)真题Od【A卷+B卷】
  14. vscode下载太慢,快速下载vscode方法!
  15. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障
  16. CKEditor5 富文本编辑器安装以及使用
  17. jasper report分组显示
  18. 我是如何在一周内准备完所有保研材料并成功保送北航的
  19. speak failed:not bound to TTS engine解决方案
  20. 起底欧莱雅“美护”帝国:23个品牌“连轴转”,打下2119亿江山

热门文章

  1. JavaScript-异步函数promise对象
  2. 百度地图 坐标偏移、覆盖物偏移解决方案
  3. 健壮的网络编程IO函数-RIO包
  4. JS设计模式之代理模式-虚拟代理
  5. java全栈系列之JavaSE-面向对象(继承详解)035
  6. 用Java描述世界:数据
  7. Electric Fences_usaco3.4_皮克定理
  8. 利用计算机诊断ct故障,皮克I/Q CT计算机电源故障修理
  9. B-010 详细解析电源滤波电容的选取与计算
  10. linux下deb包如何安装