Oracle19C AWR报告分析之Wait Classes by Total Wait Time

news2024/11/17 8:28:55

Oracle19C AWR报告分析之Wait Classes by Total Wait Time

  • 一、分析数据
  • 二、详细分析
    • 2.1 指标参数介绍
    • 2.2 数据库性能分析
    • 2.3 综合性能评估

  在 Oracle 数据库的 AWR 报告中,Wait Classes by Total Wait Time 是评估数据库性能的重要部分。本篇文章主要是介绍指标参数的含义、相关分析以及数据库性能优化建议。

一、分析数据

在这里插入图片描述

二、详细分析

2.1 指标参数介绍

参数含义
Wait Class等待事件类别,例如 CPU、I/O、事务提交、集群通信等。
Waits此类别中等待事件发生的总次数,表明发生某种等待的频率。
Total Wait Time等待总时间,表示系统在特定类别上的总等待耗时(单位:秒)。
Avg Wait Time每次等待的平均耗时(单位:微秒或毫秒),反映单次事件的平均延迟。
% DB Time此等待类别占数据库总运行时间的比例,用于衡量该类别对系统整体性能的影响。
Avg Active Sessions平均活动会话数,与此等待类别相关的并发会话活动情况。

2.2 数据库性能分析

1. DB CPU

  • 特征: CPU 时间是数据库的核心性能指标,通常用来处理 SQL 查询、计算和其他任务。

  • 分析

    • 占比 95.6%,表明系统性能瓶颈主要集中在CPU上。
    • 可能存在 SQL 查询优化空间,例如:
      • 高耗时 SQL:检查 AWR 报告中的 Top SQL
      • 表和索引:优化表设计,确保查询语句合理使用索引。
    • 硬件问题:若硬件 CPU 不足,可能需要扩容服务器资源。

2. System I/O

  • 特征: 反映数据库与存储系统的交互情况,例如读取数据块、写入日志。

  • 分析

    • 等待次数多(9,053,641 次),但单次平均等待时间较低(321.45μs)。

    • 潜在问题

      • 高等待次数可能表明 I/O 请求过多。
      • 缓存使用不足导致频繁的磁盘访问。
    • 优化建议

      • 增加内存缓冲区大小,提升缓存命中率。
      • 检查表扫描情况,避免不必要的全表扫描。

3. Cluster

  • 特征: 表示在 RAC 环境中节点之间的通信和资源协调。

  • 分析

    • 等待次数高(4,211,068 次),主要反映集群节点之间的同步问题。

    • 可能的原因:

      • 跨节点数据访问频繁。
      • 全局缓存同步(Global Cache)。
    • 优化建议

      • 数据分区:优化分区策略,减少跨节点操作。
      • RAC 网络:检查节点间网络延迟。

4. Commit

  • 特征: 提交事务时的等待,例如写入日志文件。

  • 分析

    • 提交事务的平均等待时间为 896.18μs,占总时间的 1.0%

    • 如果提交频率过高,会影响整体性能。

    • 优化建议

      • 合并小事务,减少频繁提交。
      • 确保日志文件存储(如 REDO 日志)I/O 性能足够。

5. User I/O

  • 特征: 用户查询或操作引发的 I/O 请求等待。

  • 分析

    • 等待时间占比低(0.4%),但优化空间仍然存在。
    • 主要优化点:
      • 查询优化:检查慢查询,减少不必要的磁盘访问。
      • 索引设计:确保热点查询语句能充分利用索引。

6. Concurrency

  • 特征: 并发操作引起的等待,例如锁争用。

  • 分析

    • 占比仅 0.1%,但如果环境中并发度较高,可能会有性能问题。

    • 优化建议

      • 检查并发事务中的锁争用和死锁问题。
      • 调整事务隔离级别,减少不必要的锁。

7. Application

  • 特征: 反映应用程序层的等待,例如 PL/SQL 或存储过程中的耗时。

  • 分析

    • 占比低(0.0%),无需重点关注,除非报告中有异常耗时的应用程序。

8. Network

  • 特征: 网络通信相关的等待。

  • 分析

    • 网络等待时间非常短(1.12μs),且占比可以忽略,说明网络未对数据库性能造成瓶颈。

2.3 综合性能评估

性能瓶颈:DB CPU

  • 核心问题

    • 数据库在计算任务(如 SQL 语句执行)上耗费了绝大部分时间。

    • 优化方向

      • 定位高耗时 SQL,通过索引优化、语句重写提升效率。
      • 提高硬件性能(增加 CPU 核心数)。

I/O 相关性能问题

  • System I/OUser I/O 的高等待次数表明磁盘访问频繁。

  • 优化策略

    • 增加缓存大小。
    • 优化存储硬件性能,如使用 SSD 替代传统硬盘。

集群通信(Cluster)问题

  • RAC 环境优化

    • 减少跨节点访问。
    • 检查网络配置,确保节点间通信稳定。

事务管理(Commit

  • 提高事务效率
    • 合并小事务。
    • 确保日志存储路径性能可靠。

2.3 结论

  从 AWR 数据分析中可以看出,当前系统主要性能瓶颈在于 CPU 使用和I/O性能。通过优化查询、增加硬件资源和调整存储结构,可以有效提升数据库性能。此外,RAC 和事务提交的优化也是潜在的改进方向。

注:此分析只针对这一部分的参数指标进行分析,不包括整体的分析,需根据不同参数指标,对AWR进行全局性分析,从而更深入地诊断数据库性能问题,优化数据库性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2242058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言:在我们的日常使用中,MOS就是个纯粹的电子开关,虽然MOS管也有放大作用,但是几乎用不到,只用它的开关作用,一般的电机驱动,开关电源,逆变器等大功率设备,全部使用MOS管…

问题大集-01-kafka问题

1、问题:Windows下启动单机kafka出现:系统找不到指定路径 解决: 是kafka不能识别本机的java环境(JVM),故需要指定java路径, 进入kafka路径下的\bin\windows,找到:kafk…

C++ 的发展

目录 C 的发展总结:​编辑 1. C 的早期发展(1979-1985) 2. C 标准化过程(1985-1998) 3. C 标准演化(2003-2011) 4. C11(2011年) 5. C14(2014年&#xf…

Ubuntu问题 -- 允许ssh使用root用户登陆

目的 新重装的系统, 普通用户可以使用ssh登陆服务器, 但是root不能使用ssh登陆 方法 vim 编辑ssh配置文件 sudo vim /etc/ssh/sshd_config找到 PermitRootLogin 这一行, 把后面值改成 yes 重启ssh sudo service sshd restart然后使用root账号登陆即可

HarmonyOS4+NEXT星河版入门与项目实战--------开发工具与环境准备

文章目录 1、熟悉鸿蒙官网1、打开官网2、下载 DevEco Studio3、HarmonyOS 资源库4、开发指南与API 2、安装 DevEco Studio1、软件安装2、配置开发工具 1、熟悉鸿蒙官网 1、打开官网 百度搜索 鸿蒙开发者官网 点击进入开发者官网,点击开发,可以看到各种…

使用 start-local 脚本在本地运行 Elasticsearch

警告:请勿将这些说明用于生产部署 本页上的说明仅适用于本地开发。请勿将此配置用于生产部署,因为它不安全。请参阅部署选项以获取生产部署选项列表。 使用 start-local 脚本在 Docker 中快速设置 Elasticsearch 和 Kibana 以进行本地开发或测试。 此设…

【大数据学习 | HBASE高级】hbase-phoenix 与二次索引应用

1. hbase-phoenix的应用 1.1 概述: 上面我们学会了hbase的操作和原理,以及外部集成的mr的计算方式,但是我们在使用hbase的时候,有的时候我们要直接操作hbase做部分数据的查询和插入,这种原生的方式操作在工作过程中还…

Nginx server_name配置错误导致路由upstream超时问题

一、问题描述 某次本平台和外部平台接口调用,同样Nginx location配置,测试环境调用正常,生产环境调用返回失败; 相关链接:Nginx官方文档、server_name、How nginx processes a request 二、排查处理 1&#xff09…

Android Studio 控制台输出的中文显示乱码

1. Android Studio 控制台输出的中文显示乱码 1.1. 问题 安卓在调试阶段,需要查看app运行时的输出信息、出错提示信息。乱码,会极大的阻碍开发者前进的信心,不能及时的根据提示信息定位问题,因此我们需要查看没有乱码的打印信息。…

linux001.在Oracle VM VirtualBox中ubuntu虚拟系统扩容

1.打开终端切换到virtualBox安装目录 2.输入命令扩容 如上终端中的代码解释: D:\Program Files\Oracle\VirtualBox>.\VBoxManage modifyhd D:\ubuntu18.04\Ubuntu18.04\Ubuntu18.04.vdi --resize 40960如上代码说明:D:\Program Files\Oracle\Virtual…

【桌面应用程序】Vue-Electron 环境构建、打包与测试(Windows)

前言 Vue 与 Electron 环境构建、打包与测试。 目录 前言 一、基本环境准备 二、配置npm源 三、创建Vue项目 四、添加Electron支持 五、应用启动 ​六、添加UI框架 ElementUI ​七、打包 一、基本环境准备 npm版本:8.6.0node版本:v18.0.0Vue/…

C#获取视频第一帧_腾讯云媒体处理获取视频第一帧

一、 使用步骤: 第一步、腾讯云开启万象 第二步、安装Tencent.QCloud.Cos.Sdk 包 第三步、修改 腾讯云配置 图片存储目录配置 第四步、执行获取图片并保存 二、封装代码 using System.Text; using System.Threading.Tasks;using COSXML.Model.CI; using COSXML.A…

Jav项目实战II基于微信小程序的助农扶贫的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当前社会…

ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能

一、简介 本播放器是在vs2019 x86下开发,通过ffmpeg实现拉流解码功能,通过D3D实现视频的渲染功能。截图功能采用libjpeg实现,可以截取jpg图片,图片的默认保存路径是在C:\MYRecPath中。录像功能采用封装好的类Mp4Record实现&#x…

springboot 之 整合springdoc2.6 (swagger 3)

版本 springboot 3.3.5 jdk 17 springdoc 2.6.0 依赖pom <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version> </dependency>注解对比…

ADS学习笔记 5. 微带天线设计

基于ADS2023 update2 参考书籍&#xff1a;卢益锋老师《ADS射频电路设计与仿真学习笔记》 更多笔记&#xff1a;ADS学习笔记 1. 功率放大器设计ADS学习笔记 2. 低噪声放大器设计ADS学习笔记 3. 功分器设计ADS学习笔记 4. 微带分支定向耦合器设计 目录 0、设计指标 1、微带…

TypeORM在Node.js中的高级应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 TypeORM在Node.js中的高级应用 TypeORM在Node.js中的高级应用 TypeORM在Node.js中的高级应用 引言 TypeORM 基本概念 1. 实体&am…

【软件测试】一个简单的自动化Java程序编写

文章目录 自动化自动化概念回归测试常见面试题 自动化测试金字塔 Web 自动化测试驱动 Selenium一个简单的自动化示例安装 selenium 库使⽤selenium编写代码 自动化 自动化概念 自动的代替人的行为完成操作。自动化在生活中处处可见 生活中的自动化可以减少人力的消耗&#x…

【云岚到家】-day10-2-冷热处理及统计

【云岚到家】-day10-2-冷热处理及统计 3.7 历史订单3.7.1 冷热分离方案1&#xff09;冷热分离需求2&#xff09;分布式数据库3&#xff09;冷热分离方案 3.7.2 订单同步1&#xff09;创建历史订单数据库2&#xff09;订单同步3&#xff09;测试订单同步4&#xff09;小结 3.7.3…

Python学习------第八天

函数 函数的传入参数 掌握函数返回值的作用 掌握函数返回值的定义语法 函数的嵌套调用&#xff1a; 函数的局部变量和全局变量 局部变量的作用&#xff1a;在函数体内部&#xff0c;临时保存数据&#xff0c;即当函数调用完成后&#xff0c;则销毁局部变量。 money 5000000 n…