如何计算或保证在测试环境下性能指标的测试结果能满足生产环境下性能指标
在性能测试过程中,大家一定会遇到测试环境与生产环境的配置不一致,尤其是机器的配置差异较大。当旧模块重新改造后,生产系统又不能进行性能测试,只能在测试环境下进行性能测试。许多公司的做法,在这种情形下,一般是做新旧程序的对比测试,如果新程序的性能不低于旧程序的性能(指业务处理性能与系统资消耗),就认为性能测试通过,反之则认为不通过。对此,我抛出2个问题让大家来讨论。一是,在测试环境与生产环境硬件配置差异较大的情况下,测试出来的业务处理性能指标如何换算出在生产系统上的业务处理性能? 二是新旧模块的性能测试,除了采用对比测试的方法之外,还有没有更好的其它的测试方法? 一,环境不一样,得出的数据一般不具备可比性,也就不能进行所谓的转换。测试环境应该模拟真实环境二,一般行业内都有一些专业技术指标,可以用测试指标与这些指标进行比对 回复 2# bicknuer
一,环境不一样,得出的数据一般不具备可比性,也就不能进行所谓的转换。测试环境应该模拟真实环境
---------------回答的不错,但是,现实往往是因硬件配置差异太大,我们可否根据测试主机与生产主机的处理性能差异比值如(TPM-C)来推断在测试机器下的处理性能,来推断生产机上的处理性能呢? 如果可以的话,有没有规律可循 顶,观摩! 回复 3# cow
软件性能与硬件性能不是正比关系,当然,你也可以通过统计学或数据挖掘得出这两者的关系方程。
不过技术难度和时间复杂度都不是一般人能搞定的。模拟真实环境测试应该是最简单便捷的方法了。 一般性能测试我会考虑4个方面,1、系统本身性能,2、网络条件,3、软件环境 4、硬件条件。
设计性能测试方案时,首先确认,你这个方案主要的目标是什么,然后就会有根据的进行测试设计了。
例如, 有个性能需求是:测试系统某个功能的大数据量(数据量级别)的查询速度<3s,或者多用户(100用户)同时查询时的查询速度<3s。 其实这个需求的条件是不明确的。 这个只有条件1, 对于2、3、4条件都没有明确的规定。 那么这个就需要你去补齐这些条件数据。
条件4:服务器硬件条件,这个在购买服务器时,对于硬件指标能达到什么级别,都会有一个比较明确的范围的。如:硬件内存可以满足多少事务处理,处理事务的速度等等
条件3:服务器软件环境,如中间件,数据库等,是否有连接限制,数据库本身性能能否满足足够的大数据量存储等。
条件2:服务器的网络上下行速率如何,客户端的网络上下行速率又如何,网络条件是很能影响测试结果的一个条件。
那么,对于上面的性能需求,因为你需要验证的是系统本身的性能是否达到要求。那么条件2、3、4是可变的。
简单的一个方案就是:
条件2 条件3 条件4
1 A C E
2 B D F
3 A D F
4 B C E
5 A D E
6 B C F
满足上面的一行条件,然后去验证 上面的性能需求是否达到要求,并且还要延伸做的是,在该条件下,能该性能指标能最大能达到什么数值。
然后对结果进行对比分析, 其实性能测试的方案设计及过程并不难,难的是结果的对比分析,这个需要靠经验和对性能指标的敏感度才能很好的体现。
以此类推,对于其他单个条件的,多个条件的性能测试,同样可以按照这个尝试。
当然,性能本身就是一个受很多因素影响的,简单的分类肯定不能满足实际的复杂程度,
但是个人觉得,我们把实际复杂的场景合理的简单化,其实对系统的发展是有帮助的。
以上是我个人的一点看法,希望大家交流交流。 楼上的那个方案没看懂哦:
简单的一个方案就是:
条件2 条件3 条件4
1 A C E
2 B D F
3 A D F
4 B C E
5 A D E
6 B C F 学习了,谢了 一直都在为这个问题苦恼,学习了 顶
页:
[1]