yangjianxv
作者yangjianxv·2017-06-19 09:28
部门总经理·成方金融科技有限公司

性能模型建立

字数 1573阅读 4911评论 1赞 6

在建立性能模型的过程中切忌采用所谓的公式进行理论计算。

例1:采用2-8原理计算一天的峰值业务量、峰值时间

例2:采用公式计算系统的并发用户数
根据以下公式计算,其中C = nL/T
2.png

2.png

n是登录用户的数量(一天当中约有多少人登录系统);
L是登录用户的平均在线时间长度(登录系统后到退出的时间长度);
T指考察的时间段长度(一天中用户使用系统的时间总长度);
C为平均并发数;
C’为最大并发数。

公式理论只适合某个场景,但95%的情况下不适合你的场景。

(一) 已有业务的模型

生产上已有业务由于软硬件升级改造等原因需要性能测试的情况,需从生产数据中提炼典型业务场景、性能测试模型。

为了和目前真实情况更加接近,选择最近一段时间的数据作为分析样本,分析交易路径、交易关联关系、数据的处理与流转、典型交易、业务量、交易比例、时间窗口等压力测试模型要素,完成测试模型的构建。并根据往年历史数据,推算未来N年的关键指标的走势。

1. 典型业务交易的选取

 根据业务量大小选取典型交易,一般通过统计生产系统TOP5 、TOP10确定;
 选取生产系统中消耗资源最多,或者耗时最长的业务交易;
 选取生产系统中交易路径最长的业务交易;
 选取生产系统容易发生故障的业务交易;
 为满足其他特殊测试目标需要选取的业务交易;

2. 业务场景来源

业务场景根据分析跨系统的交易路径、交易关联关系、数据的处理与流转、典型交易、业务量、交易比例,以及系统的处理能力等内容,完成测试模型的构建。

 一般交易日的交易量、交易配比
 历史峰值交易日的交易量、交易配比
 特殊日的交易量、交易配比
 不同交易渠道发起的交易量、交易配比
 日终批量处理的基本流程、时间窗口要求
 系统历史数据量(铺底数据量)

(二) 新业务的模型探索

由于新业务项目可能没有明确的需求,也没有生产上的历史数据可以分析。新业务的性能测试可采用探索性测试。探索性测试的目的在于给出该系统的总体性能表现、系统将在何时何处出现性能瓶颈、并分析、定位问题,给出调优建议。

对于不同的测试对象(测试功能点或测试模块),需分为不同的维度进行测试,并说明选择这个分析维度的原因。测试的维度需要按照测试的优先级排列。测试维度举例:交易量的变化、用户并发数的变化、交易配比的变化、数据文件大小的变化、软件参数配置的变化、硬件参数配置的变化、存量数据的变化等等。每一类维度测试完成后,需选出最典型的值,在此基础上进行下一维度测试。

举例说明:
某系统中,某个模块的并发查询是性能关注点,可依据对查询影响较大的几个因素按优先级进行排序:不同的查询条件,不同的并发用户数、不同的存量数据。

1. 维度一:查询条件

不同的查询条件,开发程序内部的处理不同,性能表现也不同,作为第一个测试维度,需尽可能分析程序内在实现方式,划定测试范围,例如:
1)对于包含虚拟地区或虚拟机构的查询条件的,要从汇总表中抽取结果数据;
2)对于包含处理指标的查询条件的,要从处理表中抽取结果数据;
3)对于包含采集指标的查询条件的,要从采集表中抽取结果数据;

针对不同的处理方式所表现的性能会不同,选取可以涵盖不同处理方式的条件进行性能测试;测试后挑选更加典型的查询条件,为后续测试尽量缩小查询条件的范围。

2. 维度二:用户并发数

在维度一选定的典型查询条件基础上,选取不同的并发数进行测试。涵盖需求中要求的并发数。验证并发数是否满足需求,预测并发数多大时会达到性能瓶颈。并选择合适的并发数作为后续测试的并发参数。

3. 维度三:存量数据

在维度一、维度二选定的参数基础上,进行不同存量数据的比对。

欢迎大家与我留言,也可以关注个人微信公众号:性能测试与调优

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论1 条评论

醉卧亭湖醉卧亭湖技术经理上海爱数软件信息技术股份有限公司
2017-08-22 10:45
请教POW(C、1/3)的理论依据是什么,是清算中心实际运营的经验结果么
Ctrl+Enter 发表

本文隶属于专栏

作者其他文章

相关文章

相关问题

相关资料

X社区推广