通过案例学调优之--Oracle Time Model(时间模型)
通过案例学调优之--OracleTimeModel(时间模型)数据库时间优化不仅仅是缩短等待时间。优化旨在缩短最终用户响应时间和(或)尽可能减少每个请求占用的平均资源
通过案例学调优之--Oracle Time Model(时间模型)
数据库时间
优化不仅仅是缩短等待时间。优化旨在缩短最终用户响应时间和(或)尽可能减少每个请求占用的平均资源。有时这些目标可同时实现,而有时则需要进行折衷(如在并行查询时)。通常可以认为,优化就是避免以浪费的方式占用或保留资源。
对数据库发出的任何请求都由两个不同的段组成:等待时间(数据库等待时间)和服务时间(数据库 CPU 时间)。等待时间是各种数据库实例资源的所有等待时间的总和。CPU 时间是实际处理请求时消耗的时间的总和。这些时间不一定由一个等待时间和一个 CPU 时间块组成。通常,进程会等待数据库资源较短时间,然后在 CPU 上短暂运行,并重复执行这一系列过程。
优化包括缩短或消除等待时间以及缩短 CPU 时间。此定义适用于任何应用程序类型、联机事务处理 (OLTP) 或数据仓库 (DW)。
注:非常繁忙的系统的数据库 CPU 时间较长,这会增大其它时间。
CPU 时间和等待时间优化思维
优化系统时,应将 CPU 时间与系统的等待时间进行比较,这一点很重要。通过将 CPU 时间与等待时间进行比较,可以确定用于有效工作的响应时间,以及用于等待可能由其它进程占用的资源的时间。通常情况下,与等待时间占主导地位的系统相比,CPU 时间占主导地位的系统需要的优化较少。但是,SQL 语句编写不佳也可能导致高 CPU 使用率。
虽然随着系统负载的增加,等待时间与 CPU 时间的比值会不断增大,但等待时间的迅速增加是争用的迹象,必须解决这一问题才能获得良好的可扩展性。
增加的等待时间表明发生争用时,在节点中增加 CPU 或在集群中增加节点的作用将非常有限。相反,CPU 时间的分配比例不会随着负载增大而明显减小的系统,可扩展性会更好,并且最有可能通过添加 CPU 或 Real Application Clusters (RAC) 实例受益。
注: 自动工作量资料档案库 (AWR) 和 Statspack 报表在“Top 5 Event(前 5 个事件)”部分显示 CPU 时间排前 5 位的事件的 CPU 时间和等待时间。
时间模型:概览
许多组件参与 Oracle DB 系统的优化,每个组件拥有自己的统计信息集。如何评估优化措施预计为总体系统带来的好处?例如,如果将内存从缓冲区高速缓存移至共享池,是否可以提高总体性能?整体查看系统时,时间是比较各个组件的唯一常用标尺。在 Oracle DB 服务器中,大多数建议统计信息都会以时间为单位报告其结果。还有称为“时间模型统计信息”的统计信息,,显示为 V$SYS_TIME_MODEL 和 V$SESS_TIME_MODEL 性能视图。此工具帮助 Oracle DB 服务器确定对数据库操作的定量影响。
时间模型统计信息中最重要的是数据库时间。此统计信息代表数据库调用花费的总时间,并指示总的实例工作量,它是未等待“空闲等待事件”的所有会话(非空闲用户会话)的 CPU 时间和等待时间的总和。
优化 Oracle 数据库系统的目标可以表述为:缩短用户在数据库上执行某项操作花费的时间;或简单地表述为缩短数据库时间。
其它时间模型统计信息会提供对特定操作(如登录操作、硬分析和软分析、PL/SQL 执行和 Java 执行)的量化影响(以时间为单位)。
时间模型统计信息的层次结构
本幻灯片列出了时间模型统计信息之间的关系。这些关系组成两个结构树:后台所用时间和数据库时间。结构树中的子项所报告的时间均包含在结构树中的相应父项内。
数据库时间:执行数据库用户级调用的所用时间量(微秒)。此时间不包括用于实例后台进程(如 PMON)的时间。数据库时间从实例启动时开始累计。因为数据库时间的计算方法是将所有非空闲用户会话的时间组合在一起,所以,数据库时间可能会超过从实例启动算起的实际已用时间。例如,已运行 30 分钟的实例可能有四个活动用户会话,累计的数据库时间大约为 120 分钟。
数据库 CPU:数据库用户级调用的 CPU 时间量(微秒)。
序列装入所用时间:从数据字典获取下一个序号的所用时间量。如果将序列缓存起来,则此时间是用于在高速缓存用尽时补充高速缓存的时间量。在高速缓存中能找到序号时,不会记入任何时间。对于非缓存序列,将为每个 NEXTVAL 调用记入一定时间。
时间模型示例
所示的示例来自 AWR 报表。Statspack 报表也提供时间模型信息。统计信息按照占数据库时间值的百分比排序,因此占用时间最多的区域及其子项排在列表的第一个。本例中“sql execute elapsed time(sql 执行所用时间)”排在顶部。“Parse time elapsed(分析所用时间)”紧随其后,而“hard parse elapsed time(硬分析所用时间)”为“parse time elapsed(分析所用时间)”的子项。您马上可以看到,硬分析占用了几乎所有分析时间,而分析时间占用了数据库时间的绝大部分。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

我們今天主要是來看看golang time 套件的時間應用方式。兩者的一般規則是“wall time”用於告知時間,而“monotonic clock”用於測量時間;除外還有其他的時鐘處理方式。

1.概述作為本文的一部分,讓我們從現有Date和CalendarAPI存在的一些問題入手,來探討新的Java8Date和TimeAPI如何解決這些問題。我們也將搞一搞Java8時間類別庫中的核心類,例如LocalDate,LocalTime,LocalDateTime,ZonedDateTime,Period,Duration以及它們的api。 2.舊的時間API(java8之前)的問題線程安全-Date和Calendar類別不是線程安全的,使開發者難以調試這些api的並發問題,需要編寫額外的程式碼來處

一.Python中表示時間的兩種方式:時間戳:相對於1970.1.100:00:00以秒計算的偏移量,唯一的時間元組struct_time:共有9個元素>tm_year:年1-12> tm_mon:月1-12>tm_mday:日1-31>tm_hour:時0-23>tm_min:分0-59>tm_sec:秒0-59>tm_wday:星期0-6(0表示週日)>tm_day:一年中的第幾天1-366>tm_isdst:是否為夏令,預設為-1二.ti

Pythontime模組時間取得和轉換Python的Time庫可以進行時間相關的處理,例如存取當前日期和時間,輸出不同格式的時間以及等待指定的時間等。 1.取得時間1.1.時間戳importtimetimestamp=time.time()#1682737552.5009851格林威治時間(GMT)1970年01月01日00時00分00秒起至現在的總秒數1.2.結構化時間01日00時00分00秒起至現在的總秒數1.2.結構化時間importstructtime_time= time.localtime()#time.struct_time(tm_year=2

了解常見的Web標準及其實際應用案例在當今數位化時代,萬維網已成為人們獲取資訊、進行交流和開展業務活動的重要平台。而Web標準則是確保網頁在不同瀏覽器上正常顯示並穩定運作的基礎。本文將介紹一些常見的Web標準,並透過實際應用案例來說明它們的重要性。首先,HTML(超文本標記語言)是Web標準中最基礎的一部分,用來描述網頁的結構和內容。 HTML使用標籤來定義不

重裝系統時環境偵測未通過如何解決需要進行改寫的原因是:手機中毒了,可以安裝手機管家等防毒軟體進行防毒軟體進行防毒2、手機內部儲存了許多垃圾文件,導致手機運作記憶體被佔用。只要清理手機快取即可解決這個問題3、手機記憶體被保存的軟體和檔案佔用太多,需要經常刪除不需要的檔案和軟體沒問題,只要你的硬體設定符合安裝要求,你可以直接使用新的系統磁碟重新安裝系統!你可以使用U盤或硬碟來進行安裝,速度非常快。但是關鍵是要使用相容性好的系統碟(支援IDE、ACHI、RAID模式的安裝),並且能夠自動永久激活,已經經過驗證的。這樣

在網路時代的今天,越來越多的人喜歡在網路上尋找答案和交流問題。於是,各種線上問答社群應運而生。這些社群為使用者提供了一個平台,可以在這裡提問、回答問題,同時也可以互相交流經驗和知識。今天,我們將介紹一個基於PHP開發的線上問答社群的製作過程。首先,我們需要明確的是,一個線上問答社群需要具備哪些功能。通常來說,它應該包括以下幾個方面:用戶註冊、登陸、提問、回

使用PHP函數"time"傳回目前的UNIX時間戳UNIX時間戳是指從協調世界時(UTC)1970年1月1日0時0分0秒起至今的總秒數。在PHP中,可以使用內建函數"time"來取得目前的UNIX時間戳記。本文將介紹如何使用這個函數,並提供對應的程式碼範例。程式碼範例:<?php$timestamp=time();echo"目前的
