Oracle数据库资源竞争带来的影响

竞争及其影响

当两个或更多 Oracle  会话想要使用某一资源,但该资源上某种形式的限制阻止这样做时便产生了竞争。通常这些限制与并发性相关,即有关多少会话可同时使用某一资源的限制。会话就资源的使用进行竞争,并且其中至少一个会话的处理将被延迟,而必须等待资源变为可用状态。

竞争对性能具有双重影响:

    *   竞争可减少数据库可处理的工作量。例如,锁竞争可减少每秒可执行的 SQL 语句数量。

    *   竞争可减少系统其他部分的负载量。例如,锁竞争可实际减少 /O 需求,消除锁竞争可能导致磁盘上负载的增加。

图  3  描绘了竞争的影响。数据库处理应用程序需求的能力限制反而可使需求下降到较低的水平。实际上,这意味着竞争可减少 I/O 子系统上的需求。

图 3. 资源竞争减少了完成的工作并因此减少了系统其他部分的负载。

降级 SQL  会增加对 DB  服务的需求,同时竞争降低了应用程序对此需求作出反应的能力。因此,首先调整 SQL  性能是有道理的,因为通过调整 SQL,我们可充分减少需求以避免竞争产生负面影响。

竞争如何影响服务时间

竞争会增加响应时间(并因此减少了吞吐量),因服务时间驱动的响应变成了队列驱动的响应。在生活中,当我们在超市结账时对此深有体会。如果没人排队,则所用时间是可预测的,因为这取决于要完成的工作量(购物车中的商品数量)。一旦开始排队,我们将花费额外的闲置时间(等待)。


图 4. 服务时间和排队时间。