Oracle Time Model Statistics(时间模型统计)
Oracle数据库从10g開始,启用以时间模型统计为主。命中率为辅等性能度量指标。基于时间模型统计,主要是基于操作类型測量在数据库中花费的时间的统计信息。最重要的时间模型统计是数据库时间。或DB时间。数据库时间表示在数据库调用中所花费的总时间,是实例工作负载量的总指示器。本文描写叙述时间模型统计相关知识点。
一、 DB Time(数据库时间)与User Response Time(用户响应时间)
1、DB Time(数据库时间)
下图为 DB Time in Overall User Response Time
即全部花费在数据库层面调用时间的总和。包含全部会话(前台进程)以及非空暇等待。CPU时间等
如上图所看到的,从clientBrowser请求到clientBrowser响应,经历了非常多个中间环节,DB Time不过当中的一部分
2、User Response Time(用户响应时间)
下图为 DB Time in User Transaction
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVzaGFtaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描写叙述" title="">
在上图各个部分的操作中:
用户向数据库发出请求。使用向下箭头所看到的。用于处理请求的数据库所花费的CPU时间和等待数据库等待的时间被觉得是DB时间,由阴影区域表示一旦请求完毕。结果将返回给用户,如上箭头所看到的。
上下箭头之间的空间代表处理请求的总用户响应时间,它包含除DB时间以外的其它组件。
- 基于作者查询小说
用户具基于特定的作者查询小说,此时产生应用程序完毕基于作者的数据库查询操作。 - 浏览查询结果
当用户查看查询结果时。有一些额外的数据库查询会产生,如小说库存状态,用户浏览总量。 - 加入商品到购物车
在浏览了小说的细节后,用户决定将当中一部小说加入购物车。这会导致应用程序进行数据库调用来更新购物车。
- 结算
用户通过曾经保存在网站的地址和以及新生成的付款信息,完毕交易。这会导致应用程序运行各种数据库操作以检索用户信息,加入新订单,更新库存。并生成电子邮件确认。
二、AWR中的时间模型统计报告
Time Model Statistics DB/Inst: ORA11G/ora11g Snaps: 551-553
-> Total time in database user-calls (DB Time): 1264.3s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
------------------------------------------ ------------------ ------------
sql execute elapsed time 1,188.0 94.0
DB CPU 274.3 21.7
parse time elapsed 10.1 .8
connection management call elapsed time 6.5 .5
PL/SQL execution elapsed time 3.2 .3
hard parse elapsed time 2.9 .2
PL/SQL compilation elapsed time 0.5 .0
hard parse (sharing criteria) elapsed time 0.4 .0
hard parse (bind mismatch) elapsed time 0.1 .0
repeated bind elapsed time 0.0 .0
failed parse elapsed time 0.0 .0
sequence load elapsed time 0.0 .0
DB time 1,264.3
background elapsed time 857.8
background cpu time 25.4
三、时间模型统计重要组成部分说明
在Oracle数据库中。最重要的时间模型统计是DB Time和DB CPU。这两个统计数据直接显示数据库的工作量和描写叙述整个数据库的响应时间。
- DB Time
- 运行数据库用户级别调用所花费的时间(以微秒为单位)的量。这还不包含花在实例后台进程的时间,如PMON进程。DB Time測量时间实例启动后開始累积。
因为DB时间是由全部非空暇用户会话的时间相结合来计算的,所以DB时间可能超过实例開始后所经过的实际时间。比如,已经运行了30分钟的实例可能有四个活动用户会话。其累积DB时间大约为120分钟。
- 运行数据库用户级别调用所花费的时间(以微秒为单位)的量。这还不包含花在实例后台进程的时间,如PMON进程。DB Time測量时间实例启动后開始累积。
- DB CPU
- 在数据库用户级调用上花费的CPU时间(微秒)。
- connection management call elapsed time
- 全部 Session 连接和断开连接所消耗的时间 .
- Sequence load elapsed time
- 从数据字典获取下一个序列号所花费的时间。假设一个序列被缓存。那么花费的时间为当序列被用完补充缓存须要的时间。在cache中寻找新的sequence的时间是不计算在内。
而对于non-cached 的情况,那么这个时间就是获取 nextval 的时间。
- 从数据字典获取下一个序列号所花费的时间。假设一个序列被缓存。那么花费的时间为当序列被用完补充缓存须要的时间。在cache中寻找新的sequence的时间是不计算在内。
- SQL execute elapsed time
- SQL statements 运行所花费的总的时间 , 注意对于 select 语句来说 . 这相同包含获取 (fetch) 查询结果的时间
- parse time elapsed
- 解析 SQLStatements 的总共时间 , 它包含了软解析和硬解析 .
6.1 hard parse elapsed time(硬解析所花费的总的时间)
6.2 failed parse elapsed time(全部解析过程中遇到错误SQL 的解析所花费时间)
6.3 hard parse (sharing criteria) elapsed time (当无法从 SQL Cache 中找到一个已经存在的 cursor 的时候 , 全部硬解析所花费的时间)
6.4 hard parse (bind mismatch) elapsed time (当能够从 SQL Cache 找到一个已经存在的 curosr, 可是绑定变量不匹配的时候 , 全部硬解析花费的时间)
- 解析 SQLStatements 的总共时间 , 它包含了软解析和硬解析 .
- PL/SQL execution elapsed time
- 全部花在运行 PL/SQL interpreter 的时间 (PL/SQL interpreter - 就是 debug workspace), 但这不包含花在recursively executing/parsing SQL statements 上的时间,以及 recursively executing the Java VM 上的时间
- PL/SQL compilation elapsed time
- 全部花在 PL/SQL compiler 上的时间 .
- inbound PL/SQL rpc elapsed time
- 全部入站的远程调用所运行的时间(也就是说,从其它的instance通过数据链接到本数据库的调用),包含了全部SQL和Java的递归调用
四、基于时间模型统计调用脚本
1、查看用户CPU使用情况
SELECT ss.username, se.SID, VALUE / 100 cpu_usage_seconds
FROM v$session ss, v$sesstat se, v$statname sn
WHERE se.STATISTIC# = sn.STATISTIC#
AND NAME LIKE '%CPU used by this session%'
AND se.SID = ss.SID
AND ss.status = 'ACTIVE'
AND ss.username IS NOT NULL
ORDER BY VALUE DESC;
USERNAME SID CPU_USAGE_SECONDS
--------------- ---------- -----------------
SYSMAN 156 77.69
DBSNMP 66 25.86
SYS 131 .06
DBSNMP 66 0
SYS 131 0
2、基于时间模型查询相关等待事件
COLUMN wait_class FORMAT a20
COLUMN name FORMAT a30
COLUMN time_secs FORMAT 999,999,999,999.99
COLUMN pct FORMAT 99.99
SELECT wait_class,
NAME,
ROUND (time_secs, 2) time_secs,
ROUND (time_secs * 100 / SUM (time_secs) OVER (), 2) pct
FROM (SELECT n.wait_class, e.event NAME, e.time_waited / 100 time_secs
FROM v$system_event e, v$event_name n
WHERE n.NAME = e.event
AND n.wait_class <> 'Idle'
AND time_waited > 0
UNION
SELECT 'CPU', 'server CPU', SUM (VALUE / 1000000) time_secs
FROM v$sys_time_model
WHERE stat_name IN ('background cpu time', 'DB CPU'))
ORDER BY time_secs DESC;
WAIT_CLASS NAME TIME_SECS PCT
-------------------- ------------------------------ ------------------- ------
System I/O control file parallel write 3,671.39 33.70
System I/O db file async I/O submit 1,832.96 16.82
CPU server CPU 1,824.20 16.74
System I/O log file parallel write 1,396.98 12.82
Commit log file sync 936.36 8.59
User I/O direct path write 570.01 5.23
Concurrency os thread startup 138.38 1.27
Configuration log file switch (checkpoint in 120.05 1.10
complete)
五、相关视图数据字典
V$SYS_TIME_MODEL
V$SESS_TIME_MODEL
DBA_HIST_SYS_TIME_MODEL
idkey=309573bf4518d62260890dc48df4e9985ecbcd61c1a8c9475a09a2d3aa5c3297">
Oracle Time Model Statistics(时间模型统计)的更多相关文章
- 【Oracle】转:通过案例学调优之--Oracle Time Model(时间模型)
转自:http://blog.51cto.com/tiany/1596012 通过案例学调优之--Oracle Time Model(时间模型) 数据库时间 优化不仅仅是缩短等待时间.优化旨在缩短最终 ...
- oracle时间模型
Oracle在9i或者早期的版本,对于性能优化方面,主要采用命中率模型,后面的版本,也保留着命中率模型,比如在awr报告中,Instance Efficiency Percentages (Targe ...
- Oracle按不同时间分组统计
Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- ...
- 关于DPM(Deformable Part Model)算法中模型结构的解释
关于可变部件模型的描写叙述在作者[2010 PAMI]Object Detection with Discriminatively Trained Part Based Models的论文中已经有说明 ...
- Entity Framework 之Database first(数据库优先)&Model First(模型优先)
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...
- C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...
- Mysql,Oracle使用rollup函数完成行列统计
时间 2014-02-25 00:05:38 ITeye-博客 原文 http://53873039oycg.iteye.com/blog/2021445 主题 MySQLOracle数据库 昨天 ...
- ASP.NET MVC Model之二模型绑定
Asp.net mvc中的模型绑定,或许大家经常用,但是具体说他是怎么一回事,可能还是会有些陌生,那么,本文就带你理解模型绑定.为了理解模型绑定,本文会先给出其定义,然后对通过比,来得出使用模型绑定的 ...
- [深度概念]·Attention Model(注意力模型)学习笔记
此文源自一个博客,笔者用黑体做了注释与解读,方便自己和大家深入理解Attention model,写的不对地方欢迎批评指正.. 1.Attention Model 概述 深度学习里的Attention ...
随机推荐
- 9、redis之事务2-Jedis的八种调用方式(事务、管道、分布式)介绍
1.普通同步 @Test public void test1Normal() { Jedis jedis = new Jedis("localhost"); long start ...
- Office2013中文激活版
国内的WPS专业版也是很不错的,习惯的Office.office2013很不错的办公利器 00.PPT 01.Word 02.Excel Download: 链接: https://pan.baidu ...
- 转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架
高层游戏引擎——基于OGRE所实现的高层游戏引擎框架 这是意念自己的毕业论文,在一个具体的实践之中,意念主要负责的是物件和GUI之外的其他游戏系统.意念才学疏陋,望众位前辈不吝赐教.由于代码质量不高. ...
- 基于酷Q的工作秘书机器人
代码地址如下:http://www.demodashi.com/demo/14617.html 环境准备 名称 版本 Jdk 8 groovy 2.4.12 gradle 4.6 酷Q 5.12.3A ...
- PHP调用mysql函数整理
mysql函数整理 名称:mysql_connect() 用途:打开非持久的 MySQL 连接.如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE. 语法:mysql_connect( ...
- How to Land your Dream Job
今天在code school上面看到一个外国人写的文章,写的很棒,瞧一下外国人的思维和我们有什么不同?分享给所有的朋友 You know how some things ar ...
- 找不到android-support-v4 包的解决办法
有时候在开发过程中,总是会遇到一些莫名奇妙的错误,或者在使用fragement和viewpage的时候,就会出现下面这个错误,如果出现找不到android-support-v4 包的时候,可以使用下面 ...
- ios中xml和html解析(封装)
下载地址 http://pan.baidu.com/share/link?shareid=2902188921&uk=923776187 GDataXML和TFHpple配置是一样的(配置方 ...
- ios中uiview 转场动画
//转场动画1--头尾 -(void)TransitionAnimation1{ [UIView beginAnimations:nil context:nil]; [UIView setAnimat ...
- boost boost::asio::read socket.read_some 区别
boost boost::asio::read 尝试读一定数量的字节,直到读到为止,或者出错 socket.read_some 读一下socket,读到多少算多少 带async的类似