ake9527 发表于 2009-8-18 11:19:57

系统性能测试 如何确认 预热时间 足够与否?

开始在其他条件固定的情况下从1ms开始倍增至1s,逐点测量带宽,以期发现随预热时间带宽有所变化
比如趋于稳定,则取稳定是对应的预热时间作为以后测量的参数。但是测量结果始终小幅震荡没有趋于
稳定。于是计算标准方差,以其相对于测量结果很小(1/100~1/1000)判定预热时间对测试精度影响
甚微可以忽略。
但是考虑到每个预热时间点只取一个测量值,最差的情况下每个点测得结果都是误差值,则得到的曲
线没有任何意义。于是改为在每个测试点测一组数据(10个)求平均值,标准方差。期望通过比较每个
预热时间点对应的标准方差看到趋于稳定的趋势,说明该预热时间下误差较小。但是测得标准方差仍然
没有规律可言。且耗时较多。
那么对于系统性能测试,预热时间的影响应该如何测量,判定?

qiguojie 发表于 2009-8-21 11:27:52

由于对你所说的预热时间不是很了解,因此希望你可以解释一下,方便我理解你问题的具体情况。

我知识有限,:)

ake9527 发表于 2009-8-22 09:38:17

抱歉,做LINUX性能基准测试的时候。
一般基准测试程序里都会有一个“WarmUp”的参数,用以在测量时指定每次测试前的准备时间(预热时间),以便降低误差取得更准确的值。
但是如何用测量手段分析带宽或延迟是否与预热时间有关,一直没有找到好的方法。

ake9527 发表于 2009-12-30 16:51:36

总结贴

总结:
1,在每个测试点测一组数据(10个)求平均值,标准方差。
看在哪个点上标准方差最小,则那个预热时间对目标的性能影响也就最小,且那
个点之后标准方差的变化应该趋于平缓(即预热时间的增加已经不能产生影响了)

这个方法应该是很严谨了但是性价比不高:funk: ,花费大量时间去只能得到简便方法就可以获得的趋势曲线。原来考虑可能每个预热时间点测得值均为误差值的想法,过虑了。

2,在一个较为合适的范围内(依测试对象执行时间长短估计),选取10~20个点,逐点测试连接成线就可大体知道。其实以linux ipc性能测试时间来看,受预热时间影响的测试项少之又少。
   我在2,30个测试用例中只发现预热时间的设定对『管道的延迟时间』有影响。
具体如下:
在0到8秒的区间内取0ms,1ms,5ms,10ms,20ms,40ms,80ms,100ms,200ms,400ms,800ms,1s,2s,4s,8s共计15个测试点,执行lmbench的管道测试用例3次,依据统计数据发现:
预热时间大于40ms时延迟时间稳定在11.3us左右(openSuse下,Redhat下没有这个趋势),只发现了这个预热时间对性能测试产生影响的例证。:P

qiguojie 发表于 2009-12-31 10:36:14

首先感谢你的总结帖,现在很多论坛里的朋友发了贴以后就很少关注,也很少分享自己解决问题的方案。

我明白了你所要测试的东西,就是通过调整一个参数的设置,看对测试结果的影响。这让我想起了我以前做的一个apache的参数调整设置,前后测试对比参数设置后的测试结果变化。

由于对linux的技术不熟,无法进而跟你讨论相关技术哈,期待高手关注此贴。
页: [1]
查看完整版本: 系统性能测试 如何确认 预热时间 足够与否?