qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

性能测试之吞吐量

系统吞吐量:系统吞吐量是指系统在单位时间内所处理的信息量,它以每小时或每天所处理的进程数来度量。吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特字节、分组等测量)。



对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,比喻有些夸张,但我想说明的是这个运输能力是整个系统的瓶颈。

  提示,用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开一天一夜,流出10吨水;10个水龙头开1秒钟,流出0.1吨水。当然是一个水龙头的吞吐量大。你能说1个水龙头的出水能力是10个水龙头的强?所以,我们要加单位时间,看谁1秒钟的出水量大。这就是吞吐率。
系统吞吐量:系统吞吐量是指系统在单位时间内所处理的信息量,它以每小时或每天所处理的进程数来度量。

系统吞吐量是指系统在单位时间内所处理的信息量,它以每小时或每天所处理的进程数来度量。

  影响吞吐量因素:

  1、存储设备的存取速度,即从存储器读出数据或数据写入存储器所需时间;

  2、CPU性能:1)时钟频率;2)每条指令所花的时钟周期数(即CPI);3)指令条数;

  3、系统结构,如并行处理结构可增大吞吐量。

吞吐率

  单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标,通常情况下,吞吐率用“字节数/秒”来衡量,当然,你可以用“请求数/秒”和“页面数/秒”来衡量。其实,不管是一个请求还是一个页面,它的本质都是在网络上传输的数据,那么来表示数据的单位就是字节数。

  不过以不同的方式表达的吞吐量可以说明不同层次的问题。例如,以字节数/秒方式表示的吞吐量主要受网络基础设置、服务器架构、应用服务器制约;以请求数/秒方式表示的吞吐量主要受应用服务器和应用代码的制约。

  但是从业务的角度看,吞吐率也可以用“业务数/小时或天”、“访问人数/小时或天”、“页面访问量/小时或天”来衡量。例如,在银行卡审批系统中,可以用“千件/小时”来衡量系统的业务处理能力。那么,从用户的角度,一个表单提交可以得到一次审批。又引出来一个概念---事务。

throughput
吞吐率原指一个业务系统在单位时间内提供的产量(或服务量)。在计算机或数据通信系统,指的是单位时间内通过某通信信道(a communication channel)或某个节点成功交付数据的平均速率,通常以每秒比特数(bps, bits per second )为单位。
吞吐率是一种关于计算机或数据通信系统(如网桥、路由器网关广域网连接等)数据传输率的测度。吞吐率通常是对一个系统和它的部件处理传输数据请求能力的总体评价。例如,一个服务器的吞吐率依赖于它的处理器类型、网络接口卡的类型、数据传输总线的大小、磁盘速度、内存缓冲器的体积,以及软件对这些部件进行管理的有效程度。在通信系统中,这个测度通常基于每秒能处理的数据位数或分组的数目,它依赖于网络的带宽和交换部件(如路由器集线器)的速度。网络上两个端点设备间的吞吐率依赖于计算机、网络接口卡和连接它们的网络。
吞吐率作为一个重要的衡量指标,最主要应用在并行处理上,属于系统结构中最重要的一个变量,它的定义是:单位时间的吞吐量。所以它的详细定义参见吞吐量
吞吐率在性能测试中指单位时间内在网络上传输的数据量。是衡量网络性能的主要指标。

事务

  就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPS

 

TPS (Transaction Per second) 

每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。

 每秒事务处理量 - 性能测试的术语介绍

TPS(Transaction Per Second)
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。

点击率(Hit Per Second

点击率可以看做是TPS的一种特定情况。点击率更能体现用户端对服务器的压力。TPS更能体现服务器对客户请求的处理能力。

每秒钟用户向web服务器提交的HTTP请求数。这个指标是web 应用特有的一个指标;web应用是“请求-响应”模式,用户发一个申请,服务器就要处理一次,所以点击是web应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。

需要注意的是,这里的点击不是指鼠标的一次“单击”操作,因为一次“单击”操作中,客户端可能向服务器发现多个HTTP请求。

 

吞吐量指标的作用

  再次将话题回归到吞吐量上,在我们的性能测试中查看吞吐量对我们的测试有什么意义呢。

  1. 用户协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标:在设计性能测试场景时,吞吐量可被用户协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率,事务发生次数等;另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。

  2. 用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现形式,因此,有针对性地对吞吐量设计测试,可以协助尽快定位到性能冰晶所在位置。

 

扩展

RBIrapid bottleneck identify

Empirix公司提出的快速识别系统性能瓶颈的方法。该方法基于以下事实。

    1. 发现的80%系统的性能瓶颈都由吞吐量制约;

    2. 并发用户数和吞吐量瓶颈之间存在一定的关联;

    3. 采用吞吐量测试可以更快速定位问题。 

通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后,从网络、数据库、应用服务器和代码本身4个环节确定系统的的性能瓶颈。

 

  其实,我讲了这么多概念,我们无非是站在不同的角度去分解系统的性能,站在用户的角度,服务器的角度、系统的各种角度。了解一个人需要多方面,了解一个系统也需要多方面。我在尽量把这些东西讲的不枯燥,而且易懂。其实,自己写的过程也是思考的过程。


posted on 2014-01-30 12:25 顺其自然EVO 阅读(4141) 评论(0)  编辑  收藏 所属分类: 性能测试


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜