性能优化漫谈之四:吞吐量和响应时间

       衡量Oracle系统性能的两个最为基本的指标:吞吐量和响应时间。事实上,这两个指标不仅仅作用于Oracle,作用于所有的IT设备,作用于任何现实生活中的服务提供者。一般来说,响应时间越快,吞吐量越高,但是随着吞吐量逐渐达到一个限制值之后,响应时间将迅速下降。也就是说,任何资源、设备或者服务其服务能力是有限制的,当达到限制的时候其服务能力将迅速下降。
     
         比如医院的挂号窗口,具有4个窗口。假设每个窗口的服务能力完全一样,每个窗口每分钟处理一个病人,每个病人的最长等待时间不超过10分钟,意味着排队队伍不能超过10个。当队伍维持10个病人的排队的时候,我们只需要开放一个窗口就可以满足业务需求,这个吞吐量是每分钟一个病人,响应时间是10分钟。可以看到每多开一个窗口,在固定病人的情况,响应时间将变快。2个窗口提供服务,每个队伍只有5个人,响应时间为5分钟,3个窗口提供服务,每个窗口只有3~4个人,响应时间为3~4分钟,4个窗口提供服务,每个窗口只有2~3个人,响应时间为2~3分钟。这个时候大家看到,无论是响应时间还是吞吐量都快速上升。但是随着每分钟病人的进一步增加,吞吐量将不会增加,响应时间将增加,随着每个队伍增加10个病人排队的时候,响应时间回退到10分钟,吞吐量为每分钟4个。当涌入更多的病人的时候,可以看到即使每分钟服务能力增加到2个病人,其响应服务时间将快速下降。为了提高服务质量,充分发挥窗口的潜力,增加人手。我们有两种方式增加人手:(1)、流水线操作,把工作的一部分交给下一个人。可以看到这种方式增加了无效操作,总体响应时间变长,但吞吐量变大,可以变大多少看无效操作的比例。为了进一步增加吞吐量,可以继续增加人手,增加流水线步骤,一直到无效操作的浪费积累到一定程度已经完全抵消流水线带来的好处,这个时候吞吐量不再增加。(2)、并行操作。4个队伍变成8个队伍,但由于窗口是共享的,不可避免的两支队伍之间的服务之间会受到影响,随着吞吐量的提高,响应时间将降低。可以继续增加队伍,一直增加到队伍之间共享成本消耗完全抵消人手增加带来的好处,这个时候吞吐量不再增加。
        吞吐量和响应时间,不同的业务系统其侧重点不同。对于在线交易系统(oltp)系统,其业务系统的基本目标为:在可接受的响应时间范围之内吞吐量越大越好。换句话可以这样描述,一笔交易在可接受的响应范围之内应该尽可能的降低资源消耗,因为资源是有限的。对于批处理系统,则和oltp具有很大的不同,其业务系统的基本目标为:在有限制的资源之内尽可能的提高响应时间。换句话可以这样描述,一笔交易应该尽可能的利用资源来加速业务处理。具体到性能优化,从这里可以很明确看到不同系统之间的性能优化方法和技术的不同,oltp业务系统其基本方式为:降低单位资源消耗,快速通过并发共享区域。批处理系统的基本方式为:充分利用有效资源,独占式处理以加快响应。
       


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/92650/viewspace-774633/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/92650/viewspace-774633/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值