抽出裤衩里的猴皮筋做个弹弓子打你们家玻璃………………

性能测试的有关定义

上一篇 / 下一篇  2007-07-25 10:01:29 / 个人分类:性能测试技术

 

性能perfotmance——应用程序的性能是进行典型操作所需的时间。性能常常用响应时间的标准来衡量。性能经常是重要的业务需求之一。
 

响应时间response time——是应用程序处理一个请求所需的时间比如:从用户的浏览器得到的一个HTTP请求一般我们对平均响应时间感兴趣,在负载增大时响应时间的一贯性也很重要。提高负载后若响应时间曲线出现锯齿,往往说明性能乏善可陈,还有潜在的不稳定。
 

延迟时间latency——是从应用程序得到反馈所需的最少时间(不管程序是否需要做多工作才能得到这个反馈,远程方法调用具有很长的延迟;不管被调用的方法是否成功,都有一个固定的最小开销)。
 

吞吐量(throughput)——是程序或者组件在一段给定时间内所能进行工作的总和(对web应用来说,常常用每秒点击率来衡量;对事务处理应用来说,则是每秒能完成的事务数)。
 

可伸缩性(scalability)——指应用程序如何应对增长的流量。说到可伸缩性的时候,我们通常指向上可伸缩(scaling up),以便应对更大的负载。可伸缩性经常等价于水平可伸缩性(horizontal scalability):向上伸缩到服务器集群来提高吞吐量。 我们也可以通过把应用转移到更强的服务器上来提高吞吐量。后者要简单得多,但显然并不能让应用更牢固,也只能得到有限的提高。
另一种选择是垂直伸缩(
vertical scaling):在每台服务器上运行多份服务。“垂直伸缩”这个术语被Fowler用来指“为单台服务器增加更多的计算能力”,比如添加额外的CPU或者内存。
性能和可伸缩性有时候在现实中是对立的。能在单台服务器上高性能运行的应用,却可能无法被部署到集群中,比如:为了获得高性能,针对每个用户在session中维护大量的数据;而在集群环境下,这些数据无法被高效地复制。然而,必须意识到,性能地下的应用同样不会具有很好的可伸缩性。如果应用程序在单台服务器上浪费资源,就以为着即便在集群中运行,也只不过是浪费更多的资源。
 

性能测试简单说,就是在预期的压力下,我的应用能跑多快。注意,这里的压力是你预期的,更多的时候就是你的性能指标。

负载测试(load test)——目标是给系统以期望的负载量[在没有速度要求的情况下,我的应用能支撑多少的并发用户,这里更多的是考虑容量。]

压力测试(stress test)——目标是在超过期望能力时确定系统行为[超过容量压力下的表现,也关注应用的恢复能力,这里更多的是关注系统的变化,属于健壮性测试(robustness )一类]

稳定性测试stability test)——测试系统长时间运行的表现,更多的是发现一些资源泄漏等问题,一般压力随便设置。

基准测试对比性测试benchmark——一般用来厂商之间同类产品之间,相同产品版本之间的对比。


TAG: 性能测试技术

 

评分:0

我来说两句

日历

« 2024-04-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12052
  • 日志数: 12
  • 图片数: 2
  • 文件数: 2
  • 书签数: 1
  • 建立时间: 2007-06-27
  • 更新时间: 2007-08-03

RSS订阅

Open Toolbar