通过案例学调优之–Oracle Time Model(时间模型) 650) this.width=650;” src=”http://www.68idc.cn/help/uploads/allimg/151111/12163450Z-0.jpg” style=”float:none;” title=”tm1.png” alt=”wKioL1Sb1KyxlqMXAAEQiWTzD4I228.jpg” /> 数据库时间 优化不仅
通过案例学调优之–Oracle Time Model(时间模型)
650) this.width=650;” src=”https://img.gaodaima.com/d/file/2021/11/10/bff89e132291dd514c1c74a5a44e662c.jpg” style=”float:none;” title=”tm1.png” alt=”wKioL1Sb1KyxlqMXAAEQiWTzD4I228.jpg” />
数据库时间
优化不仅仅是缩短等待时间。优化旨在缩短最终用户响应时间和(或)尽可能减少每个请求占用的平均资源。有时这些目标可同时实现,而有时则需要进行折衷(如在并行查询时)。通常可以认为,优化就是避免以浪费的方式占用或保留资源。
对数据库发出的任何请求都由两个不同的段组成:等待时间(数据库等待时间)和服务时间(数据库 CPU 时间)。等待时间是各种数据库实例资源的所有等待时间的总和。CPU 时间是实际处理请求时消耗的时间的总和。这些时间不一定由一个等待时间和一个 CPU 时间块组成。通常,进程会等待数据库资源较短时间,然后在 CPU 上短暂运行,并重复执行这一系列过程。
优化包括缩短或消除等待时间以及缩短 CPU 时间。此定义适用于任何应用程序类型、联机事务处理 (OLTP) 或数据仓库 (DW)。
注:非常繁忙的系统的数据库 CPU 时间较长,这会增大其它时间。
650) this.width=650;” src=”https://img.gaodai本文来源gao($daima.com搞@代@#码(网5ma.com/d/file/2021/11/10/e9c84bfd00e5244750abb6febc985912.jpg” title=”tm2.png” alt=”wKioL1Sb4WbBTIHUAAGYqC4P0_I330.jpg” />
CPU 时间和等待时间优化思维
优化系统时,应将 CPU 时间与系统的等待时间进行比较,这一点很重要。通过将 CPU 时间与等待时间进行比较,可以确定用于有效工作的响应时间,以及用于等待可能由其它进程占用的资源的时间。通常情况下,与等待时间占主导地位的系统相比,CPU 时间占主导地位的系统需要的优化较少。但是,SQL 语句编写不佳也可能导致高 CPU 使用率。
虽然随着系统负载的增加,等待时间与 CPU 时间的比值会不断增大,但等待时间的迅速增加是争用的迹象,必须解决这一问题才能获得良好的可扩展性。
增加的等待时间表明发生争用时,在节点中增加 CPU 或在集群中增加节点的作用将非常有限。相反,CPU 时间的分配比例不会随着负载增大而明显减小的系统,可扩展性会更好,并且最有可能通过添加 CPU 或 Real Application Clusters (RAC) 实例受益。
注: 自动工作量资料档案库 (AWR) 和 Statspack 报表在“Top 5 Event(前 5 个事件)”部分显示 CPU 时间排前 5 位的事件的 CPU 时间和等待时间。