QB/JF
新疆金风科技股份有限公司
北京金风慧能技术有限公司
文件编号:JL-R&D-35
AM ServerV6.0.300.0 &
SOAM APPV6.0.300.0
性能测试报告
版本:v1.2
编制:
审核:
批准:
实施日期:20210518
修改记录
版本号 | 章节号 | 修改内容 | 修改日期 | 修改人 |
---|---|---|---|---|
V1.0 | 全文 | 初稿 | 2020-05-18 | |
V1.1 | 全文 | 根据审批意见修改文档 | 2020-05-19 | |
V 1.2 | 全文 | 根据评审意见修改文档 | 2020-05-24 | |
目录
1 概述 1
1.1 测试目的 1
1.2 测试范围 1
1.3 文档范围 1
1.4 参考资料 2
1.5 测试工具 2
2 性能指标拟定要求 2
2.1 AM Server 2
2.2 SOAM APP 3
3 测试环境 3
3.1 网络拓扑图 3
3.2 测试环境 4
3.3 移动端测试设备 4
4 AM测试场景执行分析 5
4.1 用户并发场景-系统登录 5
4.2 页面加载时间 9
4.3 历史数据查询类场景 9
4.4 核心业务场景-提交缺陷 13
4.5 核心业务场景-工单管理(工单提交&工单确认) 16
4.6 核心业务场景-外包风电机组工作票(提交) 20
4.7 批量导入和导出 23
4.8 混合场景测试 29
5 SOAM APP测试场景执行与分析 33
5.1 启动时间 33
5.2 流畅度(FPS) 34
5.3 CPU占用率 35
5.4 内存占用 36
5.5 耗电量 37
5.6 稳定性 37
6 缺陷分析 38
7 测试总结 38
7.1 总结分析 38
7.2 测试结论 39
生产管理系统性能测试报告
- 概述
- 测试目的
本次性能测试,基于AM Server V6.0.300.0及SOAM APP V6.0.300.0版本,主要验证生产管理系统及移动端的性能状况是否达到验收标准,为项目验收提供依据,为研发人员性能改进提供依据。为后续现场部署提供合理的服务器配置指导方案。
- 测试范围
本次测试的主要对象是金风服务管理系统及移动端的性能问题,主要测试范围如下:
- 金风服务管理系统:
- 验证系统登录性能场景
- 验证页面加载时间(首页、缺陷管理界面、外包电气工作票开票界面)
- 验证历史数据查询场景(工单管理、工作票管理和运行日志)
- 验证文件导入和导出测试
- 验证核心业务场景(提交缺陷、工单提交&确认、外包风电机组工作票提交)
- SOAM APP移动端
- 验证启动时间(到欢迎页面)
- 验证FPS、CPU占用率、内存占用率
- 验证30分钟耗电量
- 文档范围
本测试报告,作为本次生产管理系统和移动端性能测试的总结性文件,内容范围如下:
- 明确各测试场景的性能测试过程、方法及结果;
分析测试结果存在的性能瓶颈
参考资料
《AM Server V6.0产品软件系统设计方案.docx》
《AM Server V6.0产品软件系统测试方案.docx》
《AM Server V6.0项目立项决策汇报报告.pptx》
《AM Server V6.0产品需求规格说明书V1.3-1.docx》测试工具 | 序号 | 工具名称 | 作用 | | —- | —- | —- | | 1 | Loadrunner12 | 性能测试工具 | | 2 | Open-falcon | 监控服务器资源 | | 3 | Perfdog | 移动端性能测试工具 |
性能指标拟定要求
- AM Server | 序号 | 技术指标 | 要求 | | —- | —- | —- | | 1 | 页面加载延迟 | <=3s | | 2 | 响应延迟 | <=2s | | 3 | 接口响应延迟 | <4s | | 4 | 文件导出报表时间 | <10s | | 5 | 报表统计查询 | <10s | | 6 | 系统用户数(在线) | 100 | | 7 | 并发用户数 | 20 | | 8 | 报表统计查询 | <10s | | 9 | CPU占用率 | <60% | | 10 | 内存占用率 | <65% |
- SOAM APP | 序号 | 技术指标 | 要求 | | —- | —- | —- | | 1 | APP启动时间 | <5s | | 2 | 流畅度(FPS) | 30<FPS<60 | | 3 | 电量 | 30分钟耗电量<30% | | 4 | CPU占用率 | <60% | | 5 | 内存占用 | PSS<500MB | | 6 | 稳定性 | 崩溃率<0.1%;ANR<0.1% |
- 测试环境
- 网络拓扑图
测试环境 | 测试环境 | IP地址 | 硬件 | 软件 | 操作系统 | | —- | —- | —- | —- | —- | | 应用服务器 | 10.10.247.130 | 8核CPU
16G内存
200G硬盘容量 | WEB应用 | CentOS 7 | | 数据库服务器 | 10.10.247.129 | 8核CPU
16G内存
200G硬盘容量 | Mysql数据库 | CentOS7 | | Loadrunner测试工具 | 10.10.247.129 | 4核CPU
8G内存
200G硬盘容量 | LoadRunner 12.2
Pycharm | Win7X64 企业版 | | 网络 | 办公局域网 | | | |移动端测试设备 | 设备 | 参数 | IP | 软件版本 | | —- | —- | —- | —- | | iPhone X | 屏幕尺寸:5.8英寸
分辨率: 2436× 1125 | 自动获取 | IOS 12.2 | | iPhone 11 | 屏幕尺寸:6.1英寸
分辨率: 1792×828 | 自动获取 | IOS 14.0.1 | | IPhone 6s plus | 屏幕尺寸:5.5英寸
分辨率: 1920×1080 | 自动获取 | IOS 13.4.1 | | 华为nova7 | RAM:7.3G
屏幕尺寸:6.5英寸
分辨率: 2400 ×1080 | 自动获取 | Android 10 | | 华为P40 | RAM:5.3G
屏幕尺寸:6.1英寸
分辨率: 2340 ×1080 | 自动获取 | Android 10 | | 小米10 | RAM:5.3G
屏幕尺寸:6.5英寸
分辨率: 2400 ×1080 | 自动获取 | Android 11 | | 荣耀X10 | RAM:7.4G
屏幕尺寸:6.6英寸
分辨率: 2400 ×1080 | 自动获取 | Android 10 |
- AM测试场景执行分析
本次测试,涉及到生产管理系统登录、页面加载时间、历史数据查询类、文件导入和导出、核心业务场景共计5个大场景的测试。主要从以下几个角度分析性能状况:响应时间、TPS、吞吐量、服务器CPU及内存使用率
- 用户并发场景-系统登录
【场景说明】
使用20个虚拟用户进行用户信息验证接口的请求(持续执行15分钟),思考时间2s
- 使用loadrunner进行测试,每个场景20个用户持续运行15分钟。
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值。
- 吞吐量为15分钟内的每秒接受报文大小的平均值。
- 思考时间2s,无迭代等待时间
1. TPS
说明:TPS的平均值为137.920,即平均每秒能处理137.920个事务
1. 响应时间
说明:登录的响应时间平均值为0.081s
1. 吞吐量
说明:吞吐量平均值为0.156MB,最大值为0.198MB
1. CPU使用率
说明:
onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为16.547%
应用服务器的CPU使用率的平均值为20.573%
1. 内存使用率
说明:
onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为22.552%
应用服务器的内存使用率的平均值为16.736%
【测试结论】
- 20个用户并发登录平均响应时间为81ms,满足系统性能要求
- 测试过程中应用服务器的平均CPU达到20.573%和内存使用率达到16.736%,满足预期的性能拟定要求
- 测试过程中数据服务器的平均CPU达到16.547%和内存使用率达到22.552%,满足预期的性能拟定要求
- 页面加载时间
【场景说明】
- 在大于90万工单数量、大于180万工作票数量(电气一种票90万,电气二种票90万)、大于800万场站运行日志数量的情况下,测试首页加载时间;
- 在大于2000条缺陷数据的情况下,测试缺陷列表首页加载时间;
- 测试外包电气工作票开票界面的加载时间
【测试方法】
- LoadRunner循环执行用户登录系统并打开对应页面的操作
- 通过查看事务时间,记录页面加载时间
- 通过循环执行20次查看首页、缺陷列表界面、外包风电机组工作票开票界面
【结果数据】
页面 | 最大值(s) | 最小值(s) | 平均值(s) |
---|---|---|---|
首页 | 1.26 | 0.18 | 0.31 |
缺陷列表 | 1.78 | 0.58 | 0.68 |
外包电气工作票开票 | 3.3 | 0.28 | 0.62 |
【测试结论】
首页、缺陷列表页及外包电气工作票开票页平均页面加载时间均小于3s,满足拟定的性能要求
- 历史数据查询类场景
【场景说明】
模拟50个场站,在大于90万数据底量的情况下的数据量查询工单;在大于180万数据底量(电气一种票90万,电气二种票90万)的情况下查询电气第二种工作票;在大于800万数据底量(场站日志>400万,集控日志>400万)的情况下查询运行日志;20个虚拟用户持续运行15分钟,思考时间2s
- 使用loadrunner进行测试,每个场景20个用户持续运行15分钟。
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值。
- 吞吐量为15分钟内的每秒接受报文大小的平均值。
- 思考时间2s,无迭代等待时间
- 查询列表是按照分页查询的方式进行查询,性能测试过程中,请求第一页(10条数据/页),返回正确的数据,认为查询成功
【测试结果】
说明:
- 工单列表查询的响应时间、TPS、CPU使用率和内存使用率均符合性能要求;
- 电气第二种工作票列表查询的响应时间、TPS和内存使用率均符合性能要求,查询一年数据量的时候CPU占用率超过了60%,不满足拟定性能需求;
- 场站运行值班列表查询的响应时间、TPS、CPU使用率和内存使用率均符合性能要求。
以下以用户常用的查询一个月的工单量的操作为例,展示在大于90万数据底量下查询1个月的工单量(约1200条)的场景测试结果
1. **TPS**
说明:TPS的平均值是8.462,每秒可以处理8.462个查询事务
1. **响应时间**
说明:查询事务的平均响应时间为0.219s
1. **吞吐量**
说明:平均吞吐量为0.060MB
1. **CPU使用率**
说明:
onekeyplatserver 是数据库服务器,testserver2 是应用服务器
应用服务器的CPU平均使用率为4.038%,数据库服务器的CPU平均使用率为17.876%
1. **内存使用率**
说明:
onekeyplatserver 是数据库服务器,testserver2 是应用服务器
应用服务器的内存平均使用率为17.620%,数据库服务器的内存平均使用率为23.751%
【测试结论】
用户查询一个月内的工单事务平均响应时间为2.56s ,符合拟定的性能要求。
核心业务场景-提交缺陷
【场景说明】
20个虚拟用户提交缺陷,连续执行15分钟,思考时间2s;
- 使用loadrunner进行测试,每个场景20个用户持续运行15分钟。
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值。
- 吞吐量为15分钟内的每秒接受报文大小的平均值。
- 思考时间2s,无迭代等待时间
- TPS
说明:平均TPS为9.319,平均每秒可以处理9.319个新增缺陷的业务
1. **响应时间**
说明:新增缺陷事务的平均响应时间为0.017s
4.4.3 吞吐量
说明:吞吐量平均值为0.005MB
4.4.4 CPU使用率
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为2.681%
应用服务器的CPU使用率的平均值为1.280%
4.4.5 内存使用率
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为25.559%
应用服务器的内存使用率的平均值为12.407%
【测试结论】
- 事务平均响应时间为0.017s,符合性能要求
- 数据库服务器和应用服务器的CPU和内存均符合拟定的性能要求
- 核心业务场景-工单管理(工单提交&工单确认)
【场景说明】
20个场长角色的用户执行工单提交及工单确认操作,连续执行15分钟,思考时间2s
- 该场景分为4个事务(工单提交的信息保存和启动流程以及工单确认的信息保存和工单流程)的组合流程;
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值;
- 吞吐量为15分钟内的每秒接受报文大小的平均值;
- 思考时间2s,无迭代等待时间。
- TPS
说明:
工单提交保存工单事务平均TPS为1.98,平均每秒可以保存1.98个工单
工单提交流程事务平均TPS为1.98,平均每秒可以提交1.98个工单流程
工单确认保存工单事务平均TPS为1.98,平均每秒可以保存1.98个工单
工单确认流程事务平均TPS为1.98,平均每秒可以提交1.98个工单流程
1. ** 响应时间**
说明:
工单提交保存工单事务的平均响应时间为0.040S,提交流程事务的平均响应时间为1.526s
工单确认保存工单事务的平均响应时间为0.030S,提交流程事务的平均响应时间为1.842s
1. ** 吞吐量**
说明:吞吐量的平均值为0.012MB
1. ** CPU使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为38.726%
应用服务器的CPU使用率的平均值为9.649%
1. ** 内存使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为23.783%
应用服务器的内存使用率的平均值为14.533%
【测试结论】
- 工单提交保存工单事务的平均响应时间为0.040S,提交流程事务的平均响应时间为1.526s,符合性能要求
- 工单确认保存工单事务的平均响应时间为0.030S,提交流程事务的平均响应时间为1.842s,符合性能要求
- 数据库服务器和应用服务器的CPU和内存均符合拟定的性能要求
- 核心业务场景-外包风电机组工作票(提交)
【场景说明】
20个用户提交外包风电机组工作票,连续执行15分钟,思考时间2s
1) 使用loadrunner进行测试,每个场景20个并发用户提交工作票,运行15分钟;
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值;
- 吞吐量为15分钟内的每秒接受报文大小的平均值;
- 思考时间2s,无迭代等待时间;
- 运行后所有的外包风电机组工作票的状态都置为联系人确认的状态。
- TPS
说明:保存工作票事务平均TPS为4.04,平均每秒可以保存4.04个工作票
提交流程事务平均TPS为4.04,平均每秒可以提交4.04个工单流程
1. ** 响应时间**
说明:保存工作票事务的平均响应时间为0.140S,提交流程事务的平均响应时间为0.499s
1. ** 吞吐量**
说明:吞吐量的平均值为0.007MB
1. ** CPU使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为33.333%
应用服务器的CPU使用率的平均值为4.600%
1. ** 内存使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为24.944%
应用服务器的内存使用率的平均值为10.005%
【测试结论】
- 保存工作票事务的平均响应时间为0.140s,提交流程事务的平均响应时间为0.499s,符合性能要求
- 数据库服务器和应用服务器的CPU和内存均符合拟定的性能要求
- 批量导入和导出
- 场站月度计划导出
- 批量导入和导出
【测试方法】
- 在10分钟内执行3次通过excel文件批量导出2000条/次风场数据
- 在此期间使用open-falcon 监控服务器的资源使用情况
- 通过记录手动触发时间和文件下载完成时间来计算实现导出时间
【耗时】
文件创建时间 | 文件修改时间 | 耗时(s) |
---|---|---|
2021/05/17 11:20:02 | 2021/05/17 11:20:11 | 9 |
2021/05/17 11:23:18 | 2021/05/17 11:23:26 | 8 |
2021/05/17 11:26:09 | 2021/05/17 11:27:17 | 8 |
【服务器资源】
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为2.200%
应用服务器的CPU使用率的平均值为1.556%
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为25.544%
应用服务器的内存使用率的平均值为11.427%
【测试结论】
- 导出2000条场站月度计划数据平均处理时间8.3s,符合拟定的性能要求。
- 应用服务器CPU占用率均值1.556%,内存占用率均值11.427%,满足拟定需求。
- 数据库服务器CPU占用率均值2.200%,内存占用率均值25.544%,满足拟定需求。
- 用户管理导入
【测试方法】
- 在10分钟内执行3次通过excel文件批量导入1000条用户数据
- 在此期间使用open-falcon 监控服务器的资源使用情况
- 通过记录手动触发时间和数据库中每次导入最后一条数据的创建时间之差来计算实现导入时间
【耗时】
开始时间(手工记录) | 入库开始(数据库) | 插入完成(数据库) | 总耗时(s) |
---|---|---|---|
2021/05/11 14:00:55 | 2021/05/11 14:00:57 | 2021/05/11 14:01:41 | 46 |
2021/05/11 14:03:30 | 2021/05/11 14:03:31 | 2021/05/11 14:04:10 | 40 |
2021/05/11 14:07:50 | 2021/05/11 14:07:51 | 2021/05/11 14:08:41 | 51 |
【服务器资源】:
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为2.366%
应用服务器的CPU使用率的平均值为1.711%
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为21.582%
应用服务器的内存使用率的平均值为14.866%
【测试结论】
- 导入1000条用户数据平均处理时间46s
- 应用服务器CPU占用率均值1.711%,内存占用率均值14.866%,满足拟定需求
- 数据库服务器CPU占用率均值2.366%,内存占用率均值21.582%,满足拟定需求
- 用户管理导出
【测试方法】
- 在10分钟内执行3次通过excel文件批量导出2000条/次用户数据
- 在此期间使用open-falcon 监控服务器的资源使用情况
- 通过记录手动触发时间和文件下载完成时间来计算实现导出时间
【耗时】
文件创建时间 | 文件修改时间 | 耗时(s) |
---|---|---|
2021/05/11 14:35:04 | 2021/05/11 14:35:14 | 10 |
2021/05/11 14:38:03 | 2021/05/11 14:38:12 | 9 |
2021/05/11 14:42:10 | 2021/05/11 14:42:21 | 11 |
【服务器资源】:
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为1.293%
应用服务器的CPU使用率的平均值为0.903%
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为21.864%
应用服务器的内存使用率的平均值为14.395%
【测试结论】
- 导出2000条数据平均处理时间10s
- 应用服务器CPU占用率均值0.903%,内存占用率均值14.395%,满足拟定需求
- 数据库服务器CPU占用率均值1.293%,内存占用率均值21.864%,满足拟定需求
- 技术问答导出
【测试方法】
- 在10分钟内执行3次通过excel文件批量导出2000条/次数据
- 在此期间使用open-falcon 监控服务器的资源使用情况
- 通过记录文件创建时间和文件下载完成时间来计算实现导出时间
【耗时】
文件创建时间 | 文件修改时间 | 耗时(s) |
---|---|---|
2021/05/17 12:03:07 | 2021/05/17 12:07:18 | 11 |
2021/05/17 12:05:29 | 2021/05/17 12:05:37 | 8 |
2021/05/17 12:07:30 | 2021/05/17 12:07:37 | 7 |
【服务器资源】:
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为2.434%
应用服务器的CPU使用率的平均值为0.764%
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为25.601%
应用服务器的内存使用率的平均值为11.434%
【测试结论】
- 导出2000条数据平均处理时间8.7s
- 应用服务器CPU占用率均值0.764%,内存占用率均值11.434%,满足拟定需求
- 数据库服务器CPU占用率均值2.434%,内存占用率均值25.601%,满足拟定需求
- 混合场景测试
【场景说明】
50个用户执行登录、工作票提交、工单提交及工单确认操作,连续执行15分钟,思考时间2s
- 该场景分为7个事务(登录、工作票信息保存、工作票流程提交、工单提交的信息保存和启动流程以及工单确认的信息保存和工单流程)的组合流程;
- CPU占用和内存占用情况使用Open-falcon监控为当前服务器整体的统计值;
- 吞吐量为15分钟内的每秒接受报文大小的平均值;
- 思考时间2s,无迭代等待时间。
- TPS
说明:工作票保存事务平均TPS为3.562,提交流程事务平均TPS为3.562;用户登录事务平均TPS为4.590;工单保存事务平均TPS为1.954,提交流程事务平均TPS为1.954;工单确认事务平均TPS为1.954,确认流程事务平均TPS为1.954。
1. ** 响应时间**
说明:工作票保存事务的平均响应时间为0.207S,提交流程事务的平均响应时间为0.796s;用户登录事务的平均响应时间为0.130s;工单新建保存事务的平均响应时间为0.337s,新建提交流程事务的平均响应时间为2.039s;工单确认保存事务的平均响应时间为0.069s,确认提交流程事务的平均响应时间为0.076s。
1. ** 吞吐量**
说明:吞吐量的平均值为0.018MB
1. ** CPU使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的CPU使用率的平均值为58.596%
应用服务器的CPU使用率的平均值为9.186%
1. ** 内存使用率**
说明:onekeyplatserver 是数据库服务器,testserver2 是应用服务器
数据库服务器的内存使用率的平均值为25.272%
应用服务器的内存使用率的平均值为12.379%
【测试结论】
- 混合场景下,登录、工作票信息保存、工作票流程提交、工单提交的信息保存和启动流程以及工单确认的信息保存和工单流程事务均符合性能要求
- 数据库服务器和应用服务器的CPU和内存均符合性能要求
5 SOAM APP测试场景执行与分析
本次测试,以国电投哈密APPV6.0.300.0为例执行,涉及APP启动时间、FPS、CPU占用率、内存占用、耗电量测试;稳定性以华能蒙东APP V6.0.300.0版本为例统计数据分析。
5.1 启动时间
【测试方法】
1)Android系统,在adb命令行中执行程序包启动命令:adb shell am start -W -n com.goldwind.app.hami.test/com.goldwind.app.soam.activity.SplashActivity ,获取程序启动时间
- IOS系统记录启动到欢迎页面加载完成的时间
- 执行5次启动,获取启动时间,计算启动时间平均值
- 启动时间统计从启动到完成欢迎页面加载的时间
【结果数据】
单位ms
机型 | 系统版本 | 第一次 | 第二次 | 第三次 | 第四次 | 第五次 | 平均 |
---|---|---|---|---|---|---|---|
华为 nova7 | Android 10 | 692 | 631 | 693 | 660 | 649 | 665 |
荣耀X10 | Android 10 | 683 | 666 | 668 | 649 | 650 | 663 |
华为P40 | Android 10 | 570 | 552 | 568 | 569 | 557 | 563 |
小米10 | Android 11 | 819 | 846 | 788 | 842 | 780 | 815 |
Iphone 6s Plus | IOS 13.4.1 | 250 | 240 | 210 | 210 | 200 | 222 |
Iphone 11 | IOS 14.0.1 | 110 | 80 | 100 | 90 | 100 | 96 |
Iphone X | IOS 12.2 | 300 | 290 | 290 | 300 | 300 | 296 |
【测试结论】
Android 系统和IOS系统手机测试哈密国电投APP,冷启动时间均值都小于指标5s,满足既定的性能要求。
5.2 流畅度(FPS)
【测试方法】
分别使用不同型号的Android 及 IOS系统测试手机连接perfdog进行测试,连续操作国电投哈密APP V6.0.300.0版本 10分钟,获取FPS的值。
【结果数据】
说明:移动端页面停顿的时候,FPS为0,在页面加载、切换、滑动等场景下实时FPS值大于0,去除FPS为0的数据后统计FPS均值如下:
机型 | 系统版本 | Avg(FPS) |
---|---|---|
华为 nova7 | Android 10 | 32.2 |
荣耀X10 | Android 10 | 35.1 |
华为P40 | Android 10 | 36.6 |
小米10 | Android 11 | 32.2 |
Iphone 6s Plus | IOS 13.4.1 | 36 |
Iphone 11 | IOS 14.0.1 | 31.5 |
Iphone X | IOS 12.2 | 35.7 |
如下图,为10分钟内小米10手机测试哈密国电投APP V6.0.300.0的实时FPS
【测试结论】
- Android系统手机FPS均值34.0,满足指标30<FPS<60;
- IOS系统手机FPS均值为34.4,满足指标30<FPS<60。
5.3 CPU占用率
【测试方法】
分别使用不同型号的Android 及 IOS系统测试手机连接perfdog进行测试,连续操作哈密国电投APP 10分钟,获取CPU占用率。
【结果数据】
如下图,以10分钟内小米10手机测试CPU使用率为例:
【测试结论】
- Android 系统测试过程中CPU占用率均值4.1%,满足拟定性能指标<40%;
- IOS系统测试过程中CPU占用率均值3.9%,满足拟定性能指标<40%。
5.4 内存占用
【测试方法】
分别使用不同型号的Android 及 IOS系统测试手机连接perfdog进行测试,连续操作国电投哈密APP 10分钟,获取内存占用。
【结果数据】
如下图,10分钟内小米10内存使用率为例:
【测试结论】
- Android 系统测试过程中内存占用均值228.6MB,满足拟定指标PSS<500MB;
- IOS 系统测试过程中内存占用均值154.2MB,满足拟定指标PSS<500MB。
5.5 耗电量
【测试方法】
移动端打开国电投哈密APP,连续使用APP30分钟,统计APP使用30分钟的耗电量。
【结果数据】
机型 | 初始电量 | 结束电量 | 耗电量 |
---|---|---|---|
华为 nova7 | 100% | 98% | 2% |
荣耀X10 | 100% | 98% | 2% |
华为P40 | 96% | 91% | 5% |
小米10 | 79% | 75% | 4% |
Iphone 6s Plus | 34% | 27% | 7% |
Iphone11 | 49% | 44% | 5% |
IphoneX | 60% | 53% | 7% |
【测试结论】
耗电量均未达到30分钟耗电量<30%的指标,满足拟定的性能要求。
5.6 稳定性
目前移动端发生的崩溃上报到研发管理平台的日志系统后,并未对崩溃原因及影响用户进行聚合统计。用户崩溃率统计维度基于的用户量较少,并没有参考意义;同样机型崩溃率基于的手机机型有限,也没有参考意义;ANR未做上报日志文件,故目前无法统计。
以华能蒙东APP V6.0.300.0版本为例,发版后研发管理平台记录崩溃日志总数4271(崩溃日志多为同一问题导致的崩溃,该问题已修复,目前无遗留崩溃问题),所有日志总数190782,崩溃率占比2.24%,研发管理平台中记录的崩溃日志中有很多是同一个问题,不同用户或不同时间段产生的崩溃,应记做一次崩溃,但是目前研发管理平台日志系统并未对崩溃原因做筛选,故计算出的崩溃率和实际崩溃率并不相等。
6 缺陷分析
本次性能测试基于300版本,共计提交缺陷4条,已关闭3条,在310版本修复;延期处理缺陷一条,遗留缺陷如下:
缺陷ID | 缺陷标题 | 备注 |
---|---|---|
42046 | 【AM Server 性能测试】历史数据查询的数据量较大的时候CPU使用率超过了拟定指标 | 一次性查询一年数据(15w+结果集,包含大量计算 属于CPU密集型操作)。基于现有性能测试服务器硬件资源,常规优化手段暂时无法满足 CPU使用率 性能指标。 后续在 6.1版本中 尝试通过提升CPU硬件资源,看能否满足CPU使用率 性能指标。 |
7 测试总结
7.1 总结分析
- 现有性能测试服务器的硬件配置(8核+16G内存+200G硬盘),分开部署应用服务和数据库服务,可以满足拟定的性能指标要求。
- 系统登录:响应时间、吞吐量、CPU和内存均满足拟定要求。
- 页面加载时间(首页、外包电气工作票开票界面、缺陷列表)平均加载时间满足拟定要求
- 历史数据查询类场景,工单列表查询一年的数据量的时候,CPU使用率超过了60%,不符合要求;
- 核心业务场景(缺陷提交、工单提交&确认、外包风电机组工作票提交):响应时间、CPU和内存均满足拟定要求。
- 批量导出的时候:导出的平均处理时间符合要求,CPU和内存满足要求。
- 移动端系统20用户并发,100用户同时在线满足既定需求。
- 移动端启动时间满足既定需求。
- 移动端流畅度满足性能指标。
- 移动端CPU占用率满足拟定需求。
- 移动端内存占用满足性能指标。
- 整个性能测试过程中没有出现因系统问题而导致的服务器异常宕机、网络阻塞等异常问题。
7.2 测试结论
1) AM Server
分类 | 子场景 | 通过标准 | 结果 |
---|---|---|---|
登录 | 20用户登录 | 响应时间<4s | 通过 |
CPU<60%、内存<65% | 通过 | ||
页面加载时间 | 缺陷管理界面 | 加载时间<=3s | 通过 |
首页 | 加载时间<=3s | 通过 | |
开票界面 | 加载时间<=3s | 通过 | |
文件导出 | 场站月度计划 | 导出时间<10s | 通过 |
CPU<60%、内存<65% | 通过 | ||
用户管理 | 导出时间<10s | 通过 | |
CPU<60%、内存<65% | 通过 | ||
技术问答 | 导出时间<10s | 通过 | |
CPU<60%、内存<65% | 通过 | ||
文件导入 | 用户管理 | CPU<60%、内存<65% | 通过 |
数据查询(20用户并发) | 工作票管理 | 5年数据>180万 | 通过 |
集控查询时间<4s | 通过 | ||
CPU<60%、内存<65% | 通过 | ||
工单管理 | 5年数据>90万 | 通过 | |
集控查询时间<4s | 通过 | ||
CPU<60%、内存<65% | 不通过 | ||
场站运行值班 | 5年数据>450万 | 通过 | |
查询时间<4s | 通过 | ||
CPU<60%、内存<65% | 通过 | ||
核心场景(20用户并发) | 缺陷提交 | 事务响应时间<4s | 通过 |
CPU<60%、内存<65% | 通过 | ||
工单提交&确认 | 事务响应时间<4s | 通过 | |
CPU<60%、内存<65% | 通过 | ||
外包风电机组工作票提交 | 事务响应时间<4s | 通过 | |
CPU<60%、内存<65% | 通过 | ||
测试结论 | 首页加载、工单查询及场站运行值班列表查询的CPU占用率测试场景不通过,其他场景通过 |
2) SOAM APP
分类 | 子场景 | 通过标准 | 结果 |
---|---|---|---|
启动时间 | Android 系统 | <5s | 通过 |
IOS系统 | <5s | 通过 | |
流畅度(FPS) | Android 系统 | 30<FPS<60 | 通过 |
IOS系统 | 30<FPS<60 | 通过 | |
CPU 占用率 | Android 系统 | <40% | 通过 |
IOS系统 | <40% | 通过 | |
内存占用率 | Android 系统 | PSS<50MB | 通过 |
IOS系统 | PSS<50MB | 通过 | |
30分钟耗电量 | Android 系统 | <30% | 通过 |
IOS系统 | <30% | 通过 | |
稳定性 | Android 系统 | 崩溃率<0.1%;ANR<0.1% | NA |
IOS系统 | 崩溃率<0.1%;ANR<0.1% | NA | |
测试结论 | 稳定性测试中ANR未统计到相关数据,崩溃率统计数据有偏差外,其他场景均通过 |
测试工程师签字__张倩倩___