当前位置: 首页 > news >正文

【OceanBase诊断调优】—— 磁盘性能问题导致卡合并和磁盘写入拒绝排查

适用版本

OceanBase 数据库 V3.x、V4.x 版本。

问题现象

OceanBase 集群合并一直未完成,同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升,IO 可能存在问题,observer.log 的确有大量报错 disk is hung, disk has fatal error

Alt text

问题原因

磁盘为机械盘,且 /home/admin /data/1/data/log1 混用同一块磁盘。磁盘性能太差,导致业务操作报 -4012 OB_IO_TIMEOUT 或 -4009 OB_IO_ERROR,这会触发 IO 探测线程检测磁盘是否有问题,如果超过 data_storage_warning_tolerance_timedata_storage_error_tolerance_timelog_storage_warning_tolerance_time 这几个超时时间还没有恢复,就会触发 data 和 slog 的快速拒绝。

解决方法

  1. 日志限流。在此故障情况下,大量写入 ERROR 日志本身也会占用大量带宽,可能会导致问题更严重。

    alter system set syslog_io_bandwidth_limit='1MB';
    
  2. 增加 IO 探测的超时阈值,避免磁盘性能问题导致 data 和 slog 的快速拒绝。

    alter system set data_storage_warning_tolerance_time = 60s; --默认 5s
    alter system set data_storage_error_tolerance_time = 600s; --默认 300s
    alter system set log_storage_warning_tolerance_time = 60s; --默认 5s
    
  3. 将已经被快速拒绝的磁盘洗白。

    alter system set disk valid server '$192.xxx.x.x:2882';(所有服务器)
    

修改设置后,IO 报错消失,合并开始推进,可以看到待合并的分区数量在逐渐减少。

select count(1) from __all_virtual_tablet_meta_table where tenant_id = 1001 and compaction_scn < xxx;
-- xxx 填写的是 cdb_ob_major_compaction 查到合并未完成租户的 global_broadcast_scn

http://www.lryc.cn/news/345118.html

相关文章:

  • 使用unreal engine5.3.2创建c++第一人称游戏
  • 关系型数据库的一种自动测评方式
  • 速盾:服务器cdn加速的具体实现方式?
  • 【QT教程】QT6音视频处理权威指南 QT音视频
  • cmd输入mysql -u root -p无法启动
  • word 毕业论文格式调整
  • 移动UI瓷片区能有多漂亮?要多漂亮就多漂亮。
  • SpringCloud Config 分布式配置中心
  • Java入门基础学习笔记2——JDK的选择下载安装
  • 基于FPGA的去雾算法
  • 专题六_模拟(2)
  • [qnx] 通过zcu104 SD卡更新qnx镜像的步骤
  • 论文AIGC检测让毕业生头疼,如何有效降低AI查重率!
  • FineBI学习:K线图
  • Chronos:学习时间序列的大语言模型(代码解析)
  • 云南区块链商户平台优化开发
  • 深圳六西格玛培训:引领职场“薪”途无限
  • Spark云计算平台Databricks使用,创建workspace和Compute计算集群(Spark集群)
  • 银河麒麟服务器系统audit服务组件升级、进程彻底关闭介绍
  • 设计模式——装饰者模式(Decorator)
  • 力扣:406. 根据身高重建队列
  • Docker 怎么将映射出的路径设置为非root用户权限
  • Linux——进程的优先级、ACL
  • 【C++】STL-list模拟实现
  • Java 7大排序
  • vue3 - 图灵
  • java设计模式八 享元
  • ELK原理详解
  • 多线程学习Day09
  • 第33次CSP认证Q1:词频统计