某个时间段磁盘io飙升到60%,具体原因是什么呢?

【 使用环境 】生产环境
【 OB or 其他组件 】oceanbase 4.2.5
【问题描述】14:17分到14:20分磁盘io特别高,具体原因是什么呢?

image

【信息采集】
ash_report_20251223145920.txt (177.6 KB)
通过obdiag采集了当时的集群ash,发现当时有很多合并,不清楚是不是合并导致的,但是合并设置的时间是夜里2点开始,15分钟就合并完毕了,观察MEMStore使用百分比在14:16:30秒大量的下降,是不是和转储有关呢?如果是转储导致触发的原因,这个是否有历史事件记录,在哪里可以查到每一次转储发生的时间呢?

从ocp控制台,也没有发现特别慢的sql

eo_classroom_16418_classroom_SlowSQL_20251223160203.xlsx.zip (9.0 KB)

4 个赞

IO消耗在 SQL ID 为 D2CD224FE21C387E9844DA64F0EE14BE 、 7623C5965CE2FAFF283FD50EB1A2105C + MEDIUM_MERGE(分区级合并)。

根据SQL ID 查下执行的语句跟耗时呗

3 个赞

SQL ID: 7623C5965CE2FAFF283FD50EB1A2105C
SQL Text: SELECT id,class_id,member_uid,is_late,is_early FROM eeo_class_member_time WHERE school_uid = ? AND member_uid IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND id > ? ORDER BY id ASC LIMIT ?

SQL ID: D2CD224FE21C387E9844DA64F0EE14BE
SQL Text: SELECT id,class_id,member_uid,is_late,is_early FROM eeo_class_member_time WHERE school_uid = ? AND member_uid IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND id > ? ORDER BY id ASC LIMIT ?

1 个赞

主要IO消耗事件 为 T1002_DAG/COMPACTION/MAJOR_MERGE/MEDIUM_MERGE。
事件记录查 oceanbase.GV$OB_TABLET_COMPACTION_HISTORY表。

2 个赞

可以先按照 楼上发的信息 查看一下

查看了这两个sql_id,在问题时间段,只执行了几个,而且都在1秒内就完成了,所以排除这俩个sql的问题

学习一下,持续关注

查看这个表,在这个时间段内,触发了MEDIUM_MERGE导致,而且这些都是好几秒才执行完毕
history.csv.zip (3.0 KB)

表信息参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501400

你这个表结构信息 能发一下么 这个表的table mode你修改过么?

搂一搂GV$OB_TABLET_COMPACTION_HISTORY看看事件

:100: :100: :100: