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

OceanBase性能关键参数配置最佳实践

OceanBase性能关键参数配置最佳实践

  • 内存调优推荐配置
  • 磁盘空间推荐配置
  • 超时时间推荐配置
  • 单机部署推荐配置

OceanBase V4.2.5

⭐️查看配置参数的方法:

show parameters like '%memstore_limit_percentage%';select * from oceanbase.gv$ob_parameters where name='freeze_trigger_percentage';

⭐️查看系统变量的方法:

show variables like '%ob_query_timeout%';

内存调优推荐配置

参数参数类型推荐值参数说明修改后生效方式
memory_limit集群参数实际物理内存的80%大小用于设置OBServer可用的总内存大小。默认为0,单位为MB。修改memory_limit的值时必须大于OBServer节点实际已使用的内存才会生效。动态生效
memory_limit_percentage集群参数80用于设置 OBServer 总可用内存大小占总内存大小的百分比。默认为80。如果memory_limit的值不为0时,系统会忽略memory_limit_percentage的设置而优先使用memory_limit配置的值。动态生效
memstore_limit_percentage集群参数0用于设置租户使用MemStore的内存占其总可用内存的百分比。默认为0,表示自适应调整。动态生效
freeze_trigger_percentage租户参数15用于设置触发冻结的租户使用MemStore内存的阈值百分比。默认为20。动态生效
writing_throttling_trigger_percentage租户参数80用于设置写入速度的阈值。默认为60。动态生效
compaction_high_thread_score租户参数12用于设置高优先级Compaction的工作线程数。高优先级是指对Mini SSTable进行Compaction操作。默认为0,表示使用6个工作线程。动态生效

登录到SYS租户进行配置:

--查看实际已使用的内存
SELECT value/1024/1024/1024 used_gb FROM v$sysstat WHERE name LIKE '%observer memory%' AND con_id = 1 AND stat_id=140008 AND name='observer memory used size';--memory_limit的优先级高于memory_limit_percentage
ALTER SYSTEM SET memory_limit='200G';
ALTER SYSTEM SET memory_limit_percentage='80';ALTER SYSTEM SET memstore_limit_percentage = 60;--配置租户级参数时需要指定租户
ALTER SYSTEM SET freeze_trigger_percentage = 15 tenant = tpcc;
ALTER SYSTEM SET compaction_high_thread_score = 12 tenant = tpcc;
ALTER SYSTEM SET writing_throttling_trigger_percentage = 80 tenant = tpcc;

磁盘空间推荐配置

参数参数类型推荐值参数说明修改后生效方式
data_disk_usage_limit_percentage集群参数90用于设置数据文件最大可以写入的百分比,超过这个阈值后,禁止数据迁入。默认为90。动态生效
datafile_maxsize集群参数视磁盘空间上限而定无共享(Shared-Nothing)模式下设置磁盘文件自动扩容的空间上限。共享存储(Shared-Storage)模式下无意义,修改不会生效。默认为0,单位为MB。动态生效
datafile_next集群参数不建议配置的太小,避免频繁触发自动增长无共享(Shared-Nothing)模式下设置磁盘文件自动扩容的增长步长。共享存储(Shared-Storage)模式下无意义,修改不会生效。默认为0,单位为MB。动态生效
datafile_size集群参数视应用数据量而定,后续可配置文件自动增长。数据与日志共用磁盘时,配置为磁盘总空间的60%;数据独占磁盘时,配置为磁盘总空间的90%无共享(Shared-Nothing)模式下设置数据文件大小。共享存储(Shared-Storage)模式下设置本地缓存空间大小。默认为0M。修改时不支持缩小,只支持扩大。动态生效
log_disk_size集群参数日志与数据共用磁盘时,配置为磁盘总空间的30%;日志独占磁盘时,配置为磁盘总空间的90%用于设置Redo日志磁盘的大小,即本OBServer可以使用的日志盘总空间大小。默认为0,单位为MB。动态生效
enable_syslog_wf集群参数True用于设置是否把WARN以上上级别的系统日志打印到一个单独的日志文件中。默认为True。动态生效
max_syslog_file_count集群参数80用于设置在回收日志文件之前可以容纳的日志文件数量。每个日志文件最多可以占用256 MB磁盘空间。配置为0时,不会删除任何归档日志。默认为0。动态生效
syslog_disk_size集群参数0M用于设置系统日志的磁盘空间上限。当系统日志的总大小将要达到该上限时,最旧的日志文件将会被删除,包括已压缩的日志文件。默认为0M。动态生效

登录到SYS租户进行配置:

ALTER SYSTEM SET datafile_maxsize = '1024G';
ALTER SYSTEM SET datafile_next = '10G';
ALTER SYSTEM SET datafile_size='80G';ALTER SYSTEM SET log_disk_size='40G';ALTER SYSTEM SET max_syslog_file_count=20;
ALTER SYSTEM SET syslog_disk_size='50GB';

📖OceanBase V4.2.5中,max_syslog_file_countsyslog_disk_size的关系如下:

  • max_syslog_file_count=0syslog_disk_size=0:不回收日志,直到磁盘写满。
  • max_syslog_file_count=0syslog_disk_size>0:当日志总大小接近syslog_disk_size时,开始删除最旧的日志文件。
  • max_syslog_file_count>0syslog_disk_size=0:当某种日志文件的数量超过max_syslog_file_count时,开始删除最旧的日志文件
  • max_syslog_file_count>0syslog_disk_size>0:当某种日志文件的数量超过max_syslog_file_count时,或者当日志总大小接近syslog_disk_size时,开始删除最旧的压缩文件。

超时时间推荐配置

OceanBase数据库超时时间通过系统变量进行控制,主要包含以下参数:

系统变量参数类型推荐值参数说明
ob_query_timeoutGlobal/Session级别OLTP业务可以设置得小一点,OLAP业务可以设置的大一些用于设置SQL最大执行时间。默认值为10000000,单位为微秒。
ob_trx_timeoutGlobal/Session级别86400000000用于设置事务超时时间。默认值为86400000000,单位为微秒。
ob_trx_idle_timeoutGlobal/Session级别86400000000用于设置事务空闲超时时间,即事务中两条语句之间的执行间隔超过该值时超时。默认值为86400000000,单位为微秒。
ob_trx_lock_timeoutGlobal/Session级别OLTP业务可以设置得小一点,OLAP业务可以设置的大一些用于设置事务的等锁超时时长。单位为微秒。默认值为-1,表示不生效。
wait_timeoutGlobal/Session级别28800用于设置服务器关闭非交互连接之前等待活动的秒数。默认为28800秒。
interactive_timeoutGlobal/Session级别28800用于设置服务器关闭交互式连接前等待活动的秒数。默认为28800秒。

登录到用户租户进行配置:

SET GLOBAL ob_query_timeout = 20000000;     --OLTP参考值
SET GLOBAL ob_query_timeout = 43200000000;  --OLAP参考值SET GLOBAL ob_trx_timeout =86400000000;
SET GLOBAL ob_trx_idle_timeout =86400000000;SET GLOBAL ob_trx_lock_timeout = 3000;       --OLTP参考值
SET GLOBAL ob_trx_lock_timeout = 120000000;  --OLAP参考值SET GLOBAL wait_timeout = 28800;         --默认连续8小时处于非活跃状态即断开连接
SET GLOBAL interactive_timeout = 28800;

单机部署推荐配置

OceanBase数据库单机版推荐进行如下配置,以达到最佳性能:

参数/系统变量参数类型推荐值参数说明修改后生效方式
syslog_level集群级配置项WARN仅保留需要DBA关注的或者干预的非预期场景的日志动态生效
enable_syslog_recycle集群级配置项1开启系统日志回收动态生效
max_syslog_file_count集群级配置项80保留80个日志文件,总共占用20G日志空间。需要按照服务器空间情况进行配置。动态生效
enable_record_trace_log集群级配置项false用于设置是否记录追踪日志动态生效
ignore_replay_checksum_error集群级配置项true关闭回放checksum校验,主在开日志的时候也有开销,需额外校验checksum值。动态生效
_lcl_op_interval集群级配置项'0ms'关闭死锁检测动态生效
_enable_defensive_check集群级配置项false禁用4377校验动态生效

登录到SYS租户进行配置:

ALTER SYSTEM SET syslog_level = 'WARN';
ALTER SYSTEM SET enable_syslog_recycle = 1;
ALTER SYSTEM SET max_syslog_file_count = 80;
ALTER SYSTEM SET enable_record_trace_log = false;
ALTER SYSTEM SET ignore_replay_checksum_error = true;
ALTER SYSTEM SET _lcl_op_interval = '0ms';
ALTER SYSTEM SET _enable_defensive_check = false;

以上。

http://www.xdnf.cn/news/389899.html

相关文章:

  • 5.1.1 WPF中Command使用介绍
  • 菜鸟之路day31一一MySQL之多表设计
  • windows怎么修改DNS
  • Bash 字符串语法糖详解
  • Kubernetes 集群部署应用
  • Web 性能优化三:页面首屏加载优化全流程:从服务器到骨架屏
  • Model Context Protocol(MCP)入门
  • C++中什么是函数指针?
  • DAY 22 复习日kaggle泰坦里克号人员生还预测
  • 第一章 例行性工作(任务计划)
  • Python基础总结(十)之函数
  • Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
  • 广东省省考备考(第八天5.11)—言语:片段阅读(每日一练)
  • 数据库备份与策略【全量备份、增量备份、日志恢复】
  • python:trimesh 用于 STL 文件解析和 3D 操作
  • 深入剖析缓存与数据库一致性:Java技术视角下的解决方案与实践
  • 【连载14】基础智能体的进展与挑战综述-多智能体系统设计
  • MySQL 数据库故障排查指南
  • 网络安全设备配置与管理-实验5-p150虚拟防火墙配置
  • 【计算机网络】NAT技术、内网穿透与代理服务器全解析:原理、应用及实践
  • JVM中的安全点是什么,作用又是什么?
  • python 新闻 api + react js 客户端。
  • MinIO自定义权限策略语法深度解析
  • 苍穹外卖-创建阿里云oss工具包
  • Agent杂货铺
  • 大模型知识蒸馏(Qwen2.5系列模型KL散度蒸馏)
  • leetcode热题100——day26
  • 当虚拟照进现实——《GTA6》如何重新定义开放世界的可能性‌
  • Git的核心作用详解
  • pwm控制