在建立性能模型的过程中切忌采用所谓的公式进行理论计算。
例1:采用2-8原理计算一天的峰值业务量、峰值时间
例2:采用公式计算系统的并发用户数
根据以下公式计算,其中C = nL/T
公式理论只适合某个场景,但95%的情况下不适合你的场景。
生产上已有业务由于软硬件升级改造等原因需要性能测试的情况,需从生产数据中提炼典型业务场景、性能测试模型。
为了和目前真实情况更加接近,选择最近一段时间的数据作为分析样本,分析交易路径、交易关联关系、数据的处理与流转、典型交易、业务量、交易比例、时间窗口等压力测试模型要素,完成测试模型的构建。并根据往年历史数据,推算未来N年的关键指标的走势。
根据业务量大小选取典型交易,一般通过统计生产系统TOP5 、TOP10确定;
选取生产系统中消耗资源最多,或者耗时最长的业务交易;
选取生产系统中交易路径最长的业务交易;
选取生产系统容易发生故障的业务交易;
为满足其他特殊测试目标需要选取的业务交易;
业务场景根据分析跨系统的交易路径、交易关联关系、数据的处理与流转、典型交易、业务量、交易比例,以及系统的处理能力等内容,完成测试模型的构建。
一般交易日的交易量、交易配比
历史峰值交易日的交易量、交易配比
特殊日的交易量、交易配比
不同交易渠道发起的交易量、交易配比
日终批量处理的基本流程、时间窗口要求
系统历史数据量(铺底数据量)
由于新业务项目可能没有明确的需求,也没有生产上的历史数据可以分析。新业务的性能测试可采用探索性测试。探索性测试的目的在于给出该系统的总体性能表现、系统将在何时何处出现性能瓶颈、并分析、定位问题,给出调优建议。
对于不同的测试对象(测试功能点或测试模块),需分为不同的维度进行测试,并说明选择这个分析维度的原因。测试的维度需要按照测试的优先级排列。测试维度举例:交易量的变化、用户并发数的变化、交易配比的变化、数据文件大小的变化、软件参数配置的变化、硬件参数配置的变化、存量数据的变化等等。每一类维度测试完成后,需选出最典型的值,在此基础上进行下一维度测试。
举例说明:
某系统中,某个模块的并发查询是性能关注点,可依据对查询影响较大的几个因素按优先级进行排序:不同的查询条件,不同的并发用户数、不同的存量数据。
1. 维度一:查询条件
不同的查询条件,开发程序内部的处理不同,性能表现也不同,作为第一个测试维度,需尽可能分析程序内在实现方式,划定测试范围,例如:
1)对于包含虚拟地区或虚拟机构的查询条件的,要从汇总表中抽取结果数据;
2)对于包含处理指标的查询条件的,要从处理表中抽取结果数据;
3)对于包含采集指标的查询条件的,要从采集表中抽取结果数据;
针对不同的处理方式所表现的性能会不同,选取可以涵盖不同处理方式的条件进行性能测试;测试后挑选更加典型的查询条件,为后续测试尽量缩小查询条件的范围。
2. 维度二:用户并发数
在维度一选定的典型查询条件基础上,选取不同的并发数进行测试。涵盖需求中要求的并发数。验证并发数是否满足需求,预测并发数多大时会达到性能瓶颈。并选择合适的并发数作为后续测试的并发参数。
3. 维度三:存量数据
在维度一、维度二选定的参数基础上,进行不同存量数据的比对。
欢迎大家与我留言,也可以关注个人微信公众号:性能测试与调优
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞6
添加新评论1 条评论
2017-08-22 10:45