转个性能测试文章,留作参考

上一篇 / 下一篇  2011-05-09 10:09:11 / 个人分类:性能测试

1、首先,需要make sure我们的性能测试的target是合适的。用户如何使用我们的系统,也就是用户的使用模型。确定我们的性能测试确实是cover了大多数用户的使用模型。这是性能瓶颈分析的前提,以免浪费时间和精力。

  2、得出一个task性能数据,接下来需要做task分解。一个task在CPU或者多个主机上执行,无非就是串行task和并行task。对于串行执行的任务好说,每个sub task的执行时间是多少,多者既瓶颈所在,需要对它优化。并行也好说,总体的性能既是所有并行的sub task中耗时最长的那一个,它既是瓶颈,需要对它优化才能提高整体性能。

  如果一个task既串行,有并行,相互交织,相互混杂。那就只有像庖丁解牛一样,逐级划分,直到变成并行和串行的sub sub sub task。然后就可以得出task的总的耗时和这些sssssub task的执行时间的数学关系。瓶颈定位就变成数学公式,看起来就简单了是吧。

  3、第2条是针对一个测试性能数据而言的。如果很多的测试用例走了不同的分支,既不同的sub task,使得按照2得到不同的公式,问题就变成如下的:

  TC1 Perf Bottleneck = F1(sub1, sub2, sub3,...)

  TC2 Perf Bottleneck = F2(sub1, sub2, sub3,...)

  TC3 Perf Bottleneck = F3(sub1, sub2, sub3,...)

  TC4 Perf Bottleneck = F4(sub1, sub2, sub3,...)

  ...

  也就是说最终系统的性能在不同的测试用例的情况下,得到的和sub task的关系是不一样的。那么如果我们需要提高整个系统的总体性能,也就是找到谁才是最需要被优化的sub task,我们还是的回到用户模型。针对用户模型的时间分析,我们可以得出每个testcase的用户使用概率百分比。例如:TC1 10%,TC2 40%, TC3 10%, TC4 20%。有了这样的数据,带入F1,F2,F3和F4,就大致可以搞清楚哪些sub task是最主要的瓶颈。

  4.此外,还需考虑task只能到底耗费的是什么资源,是CPU,是harddisk,是网络带宽。这个取决于你的task划分的粒度以及对每个sub task实现细节的了解。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-13  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 1767
  • 日志数: 2
  • 建立时间: 2011-05-09
  • 更新时间: 2011-05-09

RSS订阅

Open Toolbar