Skip to content

OceanBase 配置规范

集群级配置规范

核心配置参数

参数名称默认值建议值说明
cluster_id1根据实际集群规划设置集群唯一标识符
zone_list-zone1,zone2,zone3集群可用区列表
obconfig_url-http://10.0.0.1:8080/services?Action=ObCluster&Version=1.0.0OCP 配置服务地址
rootservice_list-10.0.0.1:2882:2881;10.0.0.2:2882:2881;10.0.0.3:2882:2881RootService 节点列表
enable_syslog_recycletruetrue启用系统日志回收
syslog_retention_period714系统日志保留天数
enable_monitoring_logtruetrue启用监控日志

网络配置

参数名称默认值建议值说明
rpc_port28812881RPC 服务端口
sql_port28832883SQL 服务端口
mysql_port03306MySQL 兼容端口
rpc_timeout10s30sRPC 超时时间
max_connections1000050000最大连接数
connection_timeout10s30s连接超时时间

性能配置

参数名称默认值建议值说明
system_memory30G根据物理内存调整系统预留内存
memory_limit_percentage8080内存使用上限百分比
cpu_count实际 CPU 核数实际 CPU 核数CPU 核心数
enable_async_syslogtruetrue启用异步系统日志
enable_sql_auditfalsetrue启用 SQL 审计
sql_audit_samplerate110SQL 审计采样率

租户级配置规范

资源配置

参数名称默认值建议值说明
max_cpu1根据租户需求调整最大 CPU 核数
min_cpu1根据租户需求调整最小 CPU 核数
max_memory1G根据租户需求调整最大内存
min_memory1G根据租户需求调整最小内存
max_iops1000根据租户需求调整最大 IOPS
min_iops1000根据租户需求调整最小 IOPS
max_disk_size10G根据租户需求调整最大磁盘空间

事务配置

参数名称默认值建议值说明
txn_timeout10s30s事务超时时间
txn_start_timeout2s5s事务启动超时时间
txn_wait_timeout2s5s事务等待超时时间
enable_early_lock_releasefalsetrue启用早释锁
enable_large_txnstruetrue启用大事务支持
large_transaction_threshold100000500000大事务阈值

SQL 配置

参数名称默认值建议值说明
sql_modeSTRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION保持默认值或根据业务需求调整SQL 模式
max_execution_time030000最大 SQL 执行时间(毫秒)
long_query_time10.5慢查询阈值(秒)
log_slow_querytruetrue记录慢查询
enable_plan_cachetruetrue启用执行计划缓存
plan_cache_size10005000执行计划缓存大小

节点级配置规范

硬件相关配置

参数名称默认值建议值说明
datafile_size10G根据物理磁盘大小调整数据文件大小
redo_dir_size10G根据物理磁盘大小调整REDO 日志目录大小
log_disk_size10G根据物理磁盘大小调整日志磁盘大小
block_cache_size1G根据内存大小调整块缓存大小
meta_block_cache_size128M根据内存大小调整元数据块缓存大小
memstore_limit_percentage5040MemStore 内存占比

日志相关配置

参数名称默认值建议值说明
enable_syslog_wftruetrue启用警告级系统日志
enable_syslog_recycletruetrue启用系统日志回收
syslog_levelINFOINFO系统日志级别
log_disk_utilization_threshold9085日志磁盘使用率阈值
log_disk_utilization_limit9590日志磁盘使用率上限
enable_async_syslogtruetrue启用异步系统日志

网络相关配置

参数名称默认值建议值说明
rpc_port28812881RPC 服务端口
sql_port28832883SQL 服务端口
mysql_port03306MySQL 兼容端口
rpc_timeout10s30sRPC 超时时间
rpc_executor_queue_size100000200000RPC 执行队列大小
rpc_thread_count4CPU 核数的 2 倍RPC 线程数

配置变更规范

变更流程

  1. 变更申请:提交配置变更申请,包括变更内容、影响范围、风险评估和回滚方案
  2. 变更审核:由 DBA 团队审核变更申请,确认变更的必要性和安全性
  3. 变更执行:在非业务高峰时段执行变更,遵循最小影响原则
  4. 变更验证:执行变更后,验证系统状态和业务功能是否正常
  5. 变更记录:记录变更详情,包括变更时间、变更内容、执行人员和验证结果

变更注意事项

  • 集群级配置变更需谨慎,可能影响整个集群的稳定性
  • 租户级配置变更应在租户维护窗口内执行
  • 节点级配置变更需逐个节点执行,避免同时变更多个节点
  • 对于关键参数变更,建议先在测试环境验证
  • 变更前需备份当前配置,以便回滚

配置监控与审计

配置监控

  • 监控配置参数的变化,及时发现异常变更
  • 监控配置参数对系统性能的影响
  • 建立配置基线,定期检查配置偏差

配置审计

  • 记录所有配置变更操作,包括变更人员、变更时间和变更内容
  • 定期审计配置变更记录,确保变更符合规范
  • 对违规变更进行追溯和处理

配置最佳实践

  1. 分层配置管理:区分集群级、租户级和节点级配置,采用不同的管理策略
  2. 标准化配置模板:针对不同类型的租户和场景,制定标准化的配置模板
  3. 动态调整配置:根据业务负载变化,动态调整配置参数
  4. 定期备份配置:定期备份配置文件和配置参数,确保可恢复性
  5. 配置版本管理:对配置进行版本管理,支持配置回滚
  6. 配置文档化:详细记录配置参数的含义、用途和调整建议

常见问题(FAQ)

Q1: 如何查看当前集群的配置参数?

A1: 可以使用 SHOW PARAMETERS 命令查看当前集群的配置参数。例如:

sql
SHOW PARAMETERS LIKE '%cluster_id%';

Q2: 配置参数变更后需要重启吗?

A2: 大部分配置参数支持动态生效,不需要重启集群或节点。但部分关键参数可能需要重启才能生效,具体请参考 OceanBase 官方文档。

Q3: 如何备份当前配置?

A3: 可以使用 ALTER SYSTEM BACKUP PARAMETERS 命令备份当前配置,或者直接备份配置文件。

Q4: 配置参数调整后如何验证效果?

A4: 可以通过监控系统性能指标(如 CPU 使用率、内存使用率、IOPS 等)来验证配置参数调整的效果,也可以通过执行基准测试来评估性能变化。

Q5: 如何批量调整多个租户的配置?

A5: 可以使用 OCP 管理平台进行批量租户配置调整,或者编写脚本通过 SQL 命令批量调整。