Oracle数据库性能优化方法论和最佳实践
上QQ阅读APP看书,第一时间看更新

1.3.1 吞吐量

吞吐量是一个简单的通用概念,不仅用于Oracle数据库,而且可用在任何提供服务的人和设备之上。关于吞吐量,笔者认为可以简单定义为如下形式:单位时间内完成的操作单元数量。这里的操作单元可以是任意粒度的指标,如transaction、executes、parse、logical reads、physical reads、user calls、latch gets、mutex gets等。

从性能优化的角度出发,吞吐量是一个输入指标,响应时间体现为在该吞吐量压力之下的输出指标。Oracle数据库有整体的吞吐量,listener、SGA、lgwr进程、CPU、I/O系统、内存和网络又有其各自的吞吐量。在一个Oracle业务系统中,在从客户机发布SQL语句到返回数据到客户机的漫长处理流程里,所涉及的每一个服务组件和资源(如CPU、内存等),其吞吐量都会有一定的限制。很显然,只有吞吐量的管道越来越粗,才有可能不会导致中间阻塞,才会使业务系统响应顺利流转。

对于交互式在线交易系统(OLTP)而言,其系统建设的根本目标总是被描述为在可接受的响应时间基础之上提供尽可能高的吞吐量,这也就成为任意OLTP系统性能优化的根本目标。如果一个性能优化者不理解这个OLTP系统特征,而简单强调尽可能快的响应时间,则可能会把系统优化带入歧途。