总 DB 时间与已用时间与 CPU 时间?

Posted

技术标签:

【中文标题】总 DB 时间与已用时间与 CPU 时间?【英文标题】:Total DB time vs Elapsed Time vs CPU time? 【发布时间】:2016-12-15 07:36:30 【问题描述】:

在 Oracle AWR 报告中,我看到提到了三个术语,即 DB 时间、经过时间、CPU 时间,但我不确定它们的实际含义

假设我得到了 15 分钟(即 900 秒)的 AWR 报告。有两个核心。 Statement1 实际解析 sql、执行 sql 等耗时 20 秒,等待时间为 10 秒 以完成其他交易。

我相信数据库时间将是 900 秒。根据上述用例,CPU 和运行时间是多少?

【问题讨论】:

【参考方案1】:

“CPU时间”意味着你的语句被CPU使用了N秒 “经过的时间”意味着您声明的所有时间,因为您可以将其用于等待您的硬盘或锁或其他东西。如果您以***别跟踪,这一切都应该在 AWR 报告中

【讨论】:

【参考方案2】:

Elapsed Time - 查看 AWR 报告时,Elapsed Time 是生成 AWR 报告的挂钟时间。例如,如果我们生成 1 小时的 AWR 报告,那么 AWR 报告中的 Elapsed Time 将为 60 分钟。

DB CPU - DB CPU 是所有 Oracle 服务器进程/前台进程在快照间隔时间内的 CPU 消耗。

DB Time - DB time 是一个统计数据,它表示一段时间内所有 Oracle 进程消耗的 CPU 时间加上非空闲等待时间。 DB Time 是数据库服务器执行用户调用所花费的时间。 DB Time 是所有用户进程在数据库调用中积极工作或积极等待所花费的总时间。它包括 CPU 时间、IO 等待时间和非空闲时间。它告诉我们数据库在持续时间内执行了多少活动。

【讨论】:

以上是关于总 DB 时间与已用时间与 CPU 时间?的主要内容,如果未能解决你的问题,请参考以下文章

iOS中时间与时间戳的相互转化

java中时间与时间戳的相互转换

在python 中,怎样计算现在时间与指定时间的间隔时长?

C标准时间与时间戳的相互转换

磁盘单双缓冲区时间计算题总结

如果在 DB 服务器不可用时尝试第一次查询,则 Devart/EFCore 永久失败