Oracle-抢购活动出现交易耗时飙高案例

问题背景:

        接用户保障,他们的核心交易库在理财抢购活动期间出现交易耗时飙高的问题,交易耗时从原来的130毫秒飙高到1秒以上,请求分析交易耗时飙高原因。

问题分析:

        通过应用的后台日志记录,发现交易耗时飙高的主要在于对交易报文的插入语句sql_id:587523twy3pn2

        问题期间的awr报告TOP 等待事件里面buffer busy waits、enq:TX -index contention以及Latch MGA shared context Latch平均等待较高

        通过ASH查看语句sql_id:587523twy3pn2的执行情况,可以看到执行会话被SID=8204的会话所堵塞,导致出现了大量的buffer busy wait等待,大量出现耗时900毫秒+

        堵塞持有会话8204的执行情况,会话当前等待事件为Latch MGA shared context Latch

        分析到这里,我们可以确认交易耗时飙高是由于latch: MGA shared context latch高等待引发堵塞,导致执行会话出现了大量的buffer busy wait 等待引发语句执行性能下降

        Latch MGA shared context Latch等待主要发生在MGA共享内存区域的并发申请latch等待,MGA是Oracle12.1版本之后新引入的共享内存区域,主要用于存放进程之间的共享地址空间,由segment和heap(KGH)的组成,MGA内存按需弹性创建,进程可以动态的创建和删除MGA segment,同时又可以在部分和全部进程间共享,使用latch: MGA锁来控制访问和保护

        当前数据库的版本为19.12,操作系统为AIX,在Oracle的mos上查到了与当前平台版本匹配的Bug 引发Latch MGA shared context Latch高等待的文档

(Bug 33352794 HIGH WAIT ON 'LATCH: MGA SHARED CONTEXT ROOT LATCH' AND 'LATCH: MGA SHARED CONTEXT LATCH')

        Oracle 19.12在AIX操作系统高并发场景下调用mmap和mumap映射内存申请MGA的时候会触发该bug,导致出现了高等待Latch MGA shared context Latch性能问题

        我们也与Oracle官方对该问题进行了沟通,确认AIX操作系统上存在高并发场景下引发Bug 33352794-Latch MGA shared context Latch高等待的问题,至于为什么只在AIX版本上存在,是由于Oracle虽然已经修复了代码的bug问题,但在平台做代码合并的时候并没有对AIX的平台做合并,导致在AIX版本上存在该特有的Bug 3335279

问题修复:

        1 可以通过安装19.13及以上的RU、RUR补丁或者应用oneoff补丁33352794进行修复

        2 在原设的Bug里面提到了一个可能的规避方法:通过设置隐含参数"_ksipc_service_mask"=0,通过修改控制与内核相关的进程间通信服务掩码禁用MGA进行规避,但这个规避Oracle不建议进行设置,不做推荐!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity | HDRP高清渲染管线学习笔记:Lightmapping(光照烘焙)与Lightmap(光照贴图)

目录 相关概念 1.渐进式光照贴图烘焙 1.1 渐进式光照贴图烘焙对模型的要求 1.2 渐进式光照贴图烘焙对硬件的要求 1.3 渐进式光照贴图烘焙支持的Unity渲染管线 1.4 进行渐进式光照贴图烘焙结果 1.5 渐进式光照贴图烘焙的CPU版本和GPU版本 1.6 Lighting窗口Lightmapping …

Elasticsearch介绍与应用

Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址:http…

数据结构--顺序栈的实现

数据结构–顺序栈的实现 顺序栈的定义 顺序栈的定义代码实现 #define MaxSize 10 typedef struct {ElemType data[MaxSize]; //静态数组存放栈中元素int top; //栈顶指针 } SqStack;int main() {SqStack S; //声明一个顺序栈(分配空间)//... ...return 0; }一些常见操作 初始…

机器视觉初步8:特征提取专题

文章目录 1.角点检测2.纹理特征提取3.特征描述符匹配3.1 Harris角点描述符3.2 SIFT(尺度不变特征变换)描述符3.3 SURF(加速稳健特征)描述符 4.基于深度学习的特征提取 在机器视觉中,特征提取是从目标图像中提取有用的视…

linux - spin lock实现分析

linux - spin lock实现分析 spinlock1 spinlock的数据结构2 spinlock的接口2.1 spin_lock_init2.2 spin_lock2.3 spin_unlock2.4 spin_lock_irq2.5 spin_unlock_irq2.6 spin_lock_irqsave2.7 spin_unlock_irqrestore2.8 spin_lock_bh2.9 spin_unlock_bh spinlock 1 spinlock的数…

我心中的TOP1编程语言—JavaScript

作为一名研发工程师(程序员),平时工作中肯定会接触或了解很多编程语言。每个人都会有自己工作中常用的语言,也会有偏爱的一些编程语言。而我心中的最爱,毫无疑问,就是 JavaScript。 JavaScript 是一门编程…

华为MateBook 16 2021款锐龙版R7(CREM-WFD9)(CREM-WFG9)原装出厂Win11系统工厂模式,恢复原厂系统

HUAWEI华为笔记本电脑,MateBook 16 2021款 锐龙版 R7(CREM-WFD9) (CREM-WFG9) 原厂Windows11系统,带F10恢复功能,原装OEM专用系统,恢复出厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序 …

记录--不定高度展开收起动画 css/js 实现

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 不定高度展开收起动画 最近在做需求的时候,遇见了元素高度展开收起的动画需求,一开始是想到了使用 transition: all .3s; 来做动画效果,在固定高度的情况下&#xf…

【嵌入式模型转换】2. 算能盒子SE5 芯片板子BM1684 sophon-pipeline

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 开始安装 前言 文章1,我们在SE5上实现了,SOC模式下的 C 和 python-sail的模型转换,文章连接: 【嵌入式模型转…

微服务实战项目-学成在线-课程发布模块

学成在线-课程发布模块 1 模块需求分析 1.1 模块介绍 课程信息编辑完毕即可发布课程,发布课程相当于一个确认操作,课程发布后学习者在网站可以搜索到课程,然后查看课程的详细信息,进一步选课、支付、在线学习。 下边是课程编辑…

观察者模式(二十)

相信自己,请一定要相信自己 上一章简单介绍了迭代器模式(十九), 如果没有看过, 请观看上一章 一. 观察者模式 引用 菜鸟教程里面 观察者模式介绍: https://www.runoob.com/design-pattern/observer-pattern.html 当对象间存在一对多关系时,则使用观察…

【MySQL】MySQL中SQL执行流程

文章目录 一、MySQL语句执行流程1.1、主要的原因有以下几点1.2、具体执行流程图如下 二、存储引擎三、MySQL的架构与内部模块四、崩溃恢复时如何判断事务是否需要提交 一、MySQL语句执行流程 连接器(Connector): 当客户端发送一个连接请求时…