等待事件含义

当进程同时尝试访问相同页面时,等待其他进程完成其输入/输出(I/O)操作时,会发生LWLock:BufferIO等待事件。其目的是将同一页读取到共享缓冲区中。

每个共享缓冲区都有一个与LWLock:BufferIO等待事件相关联的I/O锁,每次都必须在共享缓冲区外部检索页。

此锁用于处理多个会话,假如这些会话都需要访问同一块。必须从共享缓冲池外部读取此块,共享缓冲池大小由shared_buffers参数定义。

一旦在共享缓冲池中读取到页面,就会释放LWLock:BufferIO锁。

注意:

LWLock:BufferIO等待事件先于IO:DataFileRead等待事件。从存储读取数据时发生IO:DataFileRead等待事件。

等待事件增加的可能原因

多个后端进程或连接试图访问正在进行I/O活动的同一页面

共享缓冲池的太小,大型或膨胀的索引,需要向共享缓冲池中读取比膨胀前更多的数据。

缺少索引,这迫使数据库引擎从表中读取的页面超过了必要的数量。

检查点出现频率太高或需要刷新太多脏块

试图在同一页面上执行操作的数据库连接突然出现峰值,造成并发争用问题

解决方法

根据等待事件的原因,我们建议采取以下操作:

shared_buffer中的HitRatiio急剧下降和LWLock:BufferIO等待事件之间存在相关性。这种效果可能需要增加shard_buffer大小。还可以应用读写分离集群分摊数据库负载到不同实例。

如果您看到LWLock:BufferIO增加与BufferCacheHitRatio指标下降,则根据您的工作负载峰值时间调整max_wal_size和checkpoint_timeout。然后确定可能是哪个查询导致的。

验证是否有未使用的或不必要的索引,然后将其删除。

使用分区表(应用分区索引)。这样做有助于尽量低的将索引重新排序,并减少其影响。

通过使用连接池来防止突然的数据库连接高峰。

作为最佳方案,限制与数据库的最大连接数。并适时中断连接,释放内存。

KingbaseES V8R6 等待事件之LWLock Buffer_IO的更多相关文章

  1. KingbaseESV8R6等待事件之lwlock buffer_content

    前言 等待事件是排查数据库性能的指标之一.简单理解,cpu在处理业务时由于业务逻辑,和不可避免的数据库其他原因造成的前台进程等待,这里的等待事件包含buffer类,io类,以及网络类等等,当我们遇到等 ...

  2. Oracle Tuning 基础概述01 - Oracle 常见等待事件

    对Oracle数据库整体性能的优化,首先要关注的是在有性能问题时数据库排名前几位等待事件是哪些.Oracle等待事件众多,随着版本的升级,数量还在不断增加,可以通过v$event_name查到当前数据 ...

  3. SQL SERVER中的OLEDB等待事件

    OLEDB等待事件介绍 OLEDB等待类型是SQL SERVER 数据库中最常见的几种等待类型之一.它意味着某个会话(SPID)通过SQL Server Native Client OLEDB Pro ...

  4. ORACLE等待事件:enq: TX - row lock contention

    enq: TX - row lock contention等待事件,这个是数据库里面一个比较常见的等待事件.enq是enqueue的缩写,它是一种保护共享资源的锁定机制,一个排队机制,先进先出(FIF ...

  5. ORACLE等待事件: log file parallel write

    log file parallel write概念介绍 log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将日志缓冲区(log_buffer)中的重做日志 ...

  6. 数据库服务器CPU持续百分之百、部分Session一直处于执行状态---等待事件为:asynch descriptor resize(Oracle Bug )

    问题描述: 项目反馈数据库服务器的CPU持续100%的情况,跟踪发现很多活动会话的等待事件是“asynch descriptor resize”,并且这些会话一直处于Active状态,而这些会话执行的 ...

  7. DB SQL Monitor 阻塞及等待事件监控工具

    SQL Monitor Designed By zhaoguan wang 说明------------------------------------------------------------ ...

  8. truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件

    有一个应用truncate表等待了一晚上,一个定时任务,跑了几年了,今天早上来发现昨晚没有执行完成,hang住了,查询发现等待事件 fast object reuse. 10.2.0.4的库 Bug ...

  9. Oracle等待事件db file parallel read

    SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'db file ...

  10. Oracle常见的几种等待事件

    1. CPU time CPU time其实不是真正的等待事件.是衡量CPU是否瓶颈的一个重要指标.一般来讲,一个良好的系统,CPU TIME 应该排在TOP 5 TIME Event的最前面. 当然 ...

随机推荐

  1. jar not loaded. See Servlet Spec 3.0, section 10.7.2 Offending class: javax/servlet/Servlet

    说明: 今天在整合activemq功能时启动应用模块报错: jar not loaded. See Servlet Spec 3.0, section 10.7.2 Offending class: ...

  2. win32-读取控制台中所有的字符串

    我们可以先读取字符串所占的行数,再乘以控制台的实际宽度 bool ReadFromConsole() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDL ...

  3. win32-localtime的使用

    下面的例子用于反映本地系统的日期格式变化 // locale test #include <stdio.h> #include <locale.h> #include < ...

  4. MySQL Boolean类型的坑

    MySQL中,Boolean只是 tinyint(1) 的别名,也就是说,MySQL中并没有真正的bool类型. 而SQLAlchemy生成SQL的时候并没有检测到 这一点,这就导致一个问题,当使用 ...

  5. ASP.NET 跨域配置

    报错信息 The 'Access-Control-Allow-Origin' header is present on the requested resource 解决方案 web.config配置 ...

  6. Centos8上安装Redis5.X

    一.下载Redis 下载地址:wget http://download.redis.io/releases/redis-5.0.7.tar.gz 解压:tar -xzvf redis-5.0.7.ta ...

  7. 【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available

    问题描述 在App Service中启用Identity后,使用系统自动生成 Identity. 使用如下代码连接数据库 SQL Server: SQLServerDataSource dataSou ...

  8. 隐私计算在释放万亿美元 SaaS 市场的重要作用

    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. 过去十年间数字领域经历了一场颠覆性的转变.这一演变的前沿是软件即 ...

  9. Java对象引用和内存管理的细节

    在Java中,当局部变量(比如方法参数)的作用域结束时,这个局部变量的引用确实不再存在,但这并不意味着它引用的对象会被销毁.对象的销毁是由Java的垃圾回收器(Garbage Collector, G ...

  10. 快速复习JDBC(超详细)

    第一章  JDBC概述 之前我们学习了JavaSE,编写了Java程序,数据保存在变量.数组.集合等中,无法持久化,后来学习了IO流可以将数据写入文件,但不方便管理数据以及维护数据的关系: 后来我们学 ...