当前位置: 首页 > 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;

以上。

相关文章:

  • 《Effective Python》第1章 Pythonic 思维详解——深入理解 Python 条件表达式(Conditional Expressions)
  • BuildAdmin-v2.3.0 发布
  • 鸿蒙跨平台开发教程之Uniapp布局基础
  • WEBSTORM前端 —— 第2章:CSS —— 第8节:网页制作2(小兔鲜儿)
  • MySQL数据库的安全性防护
  • MinIO自定义权限策略语法深度解析
  • overleaf较高级的细节指令
  • 数据加密与隐私保护:让你的信息固若金汤
  • 【MySQL】行结构详解:InnoDb支持格式、如何存储、头信息区域、Null列表、变长字段以及与其他格式的对比
  • 【外网下载Jar包】
  • 基于ssm+mysql的树品种资源数据管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • C++入门小馆: 二叉搜索树
  • ARP协议
  • 婴幼儿托育实训室师资协同培养模式
  • 【深度学习】将本地工程上传到Colab运行的方法
  • LeetCode 热题 100 98. 验证二叉搜索树
  • vector 常见用法及模拟
  • 每日算法刷题 Day3 5.11:leetcode数组2道题,用时1h(有点慢)
  • 7系列 之 SelectIO 资源
  • redis存储结构
  • 西北大学副校长范代娣成陕西首富?系家庭财富,本人已从上市公司退出
  • 中国女足将于5月17日至6月2日赴美国集训并参加邀请赛
  • 北洋“修约外交”的台前幕后——民国条约研究会档案探研
  • 事关心脏健康安全,经导管植入式人工心脏瓣膜国家标准发布
  • 央行等印发《关于金融支持广州南沙深化面向世界的粤港澳全面合作的意见》
  • 超新星|罚丢点球的那道坎,刘诚宇靠自己迈了过去