首批通过分布式安全可靠测评,为关键业务系统打造
集中式版推荐配置
更新时间:2026-06-21 11:18:52
为了确保用户在各种业务场景下,能够基于 OceanBase 数据库获得比较好的性能,OceanBase 基于过往大量真实场景的调优经验总结了各类业务场景下一些核心配置项和变量的推荐配置。obd 和 OceanBase 云平台(OceanBase Cloud Platform,简称:OCP)支持用户在创建租户时在参数设置中选择参数模板,基于用户选择的参数模板,通过读取对应版本内核的 RPM 包内容获得对应参数取值。使用 OCP 创建租户的信息,参见 新建主租户。
注意
- OCP 从 V4.3.0 版本开始支持用户在创建租户时在参数设置中选择以下参数模板。
- obd 从 V2.9.0 版本开始支持用户在创建租户时在参数设置中选择以下参数模板。
本文主要介绍在部署 OceanBase 数据库后,针对不同业务应用场景,核心配置项与系统变量的推荐配置。
参数配置模板
安装 OceanBase 数据库后,可以在 /home/admin/oceanbase/etc 目录下查看不同业务场景下的推荐参数配置的参数配置模板。
default_parameter.json:保存了配置项的推荐配置。default_system_variable.json:保存了变量的推荐配置。
注意
使用 obd 配置文件部署集中式版后,需要手动配置;obd 白屏部署,交互式部署在创建租户时,可以选择对应的参数模板,进行自动配置。
参数配置文件中的模版分类:
express_oltp:本模版适用于交易、支付系统、互联网高吞吐量应用等工作负载类型,无外键约束、无存储过程、无长事务、无大事务、无复杂连接及复杂子查询等限制。在本场景下,相关推荐配置的详细介绍信息,可参见下文 express_oltp。complex_oltp:本模版适用于银行、保险系统等工作负载,通常涉及复杂连接、复杂相关子查询、使用 PL 编写的批处理作业,同时存在长事务和大事务。对于短期运行的查询,有时会采用并行执行。在本场景下,相关推荐配置的详细介绍信息,可参见下文 complex_oltp。olap:本模版主要用于实时数据仓库分析应用。在本场景下,相关推荐配置的详细介绍信息,可参见下文 olap。htap:本模版适用于 OLAP 和 OLTP 混合负载场景,包括不限于运营数据实时分析、欺诈行为检测、个性化推荐等。在本场景下,相关推荐配置的详细介绍信息,可参见下文 htap。kv:本模版适用于 HBase 兼容和 Key-Value 表模型访问模式,单分区访问,无 SQL 层。此场景通常伴随着极高的数据吞吐量需求,并且对延迟非常敏感。在本场景下,相关推荐配置的详细介绍信息,可参见下文 kv。
express_oltp
在本场景下,当前暂无变量配置推荐。
express_oltp 场景配置项推荐值的详细介绍如下:
| 配置项 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| syslog_level | WARN | 仅保留需要 DBA 关注的或者干预的非预期场景的日志 | cluster |
| enable_record_trace_log | False | 禁止记录 SQL 和事务跟踪事件。 | cluster |
| enable_syslog_recycle | True | 启用 syslog 自动回收可以防止日志文件填满磁盘空间。 | cluster |
| max_syslog_file_count | 80 | 保留 80 个日志文件,总共占用 20G 日志空间。需要按照您的空间情况进行配置。 | cluster |
| __min_full_resource_pool_memory | 2147483648 | 为资源池指定最小内存值。 | cluster |
| log_transport_compress_all | True | 在带宽有限的场景中,可以通过 RPC 压缩以少量 CPU 开销节省网络带宽。 | tenant |
| default_load_mode | DISABLED | 对于简单的 OLTP 工作负载,默认不使用旁路导入。 | tenant |
| direct_load_allow_fallback | True | 对于简单的 OLTP 工作负载,当旁路导入失败时允许回退成普通导入方式。 | tenant |
| _enable_filter_reordering | False | 针对简单的 OLTP 工作负载,禁用过滤器重排序。 | tenant |
express_oltp 场景示例
在 sys 租户中执行以下语句,配置集群级配置项。
ALTER SYSTEM SET syslog_level = 'WARN'; ALTER SYSTEM SET enable_record_trace_log = False; ALTER SYSTEM SET enable_syslog_recycle = True; ALTER SYSTEM SET max_syslog_file_count = 80; ALTER SYSTEM SET __min_full_resource_pool_memory = 2147483648;在用户中执行以下语句,配置租户级配置项。
MySQL 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True; ALTER SYSTEM SET _enable_filter_reordering = False;Oracle 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True; ALTER SYSTEM SET "_enable_filter_reordering" = False;
complex_oltp
在本场景下,当前暂无变量配置推荐。
complex_oltp 场景配置项推荐值的详细介绍如下:
| 配置项 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| syslog_level | WARN | 仅保留需要 DBA 关注的或者干预的非预期场景的日志 | cluster |
| enable_syslog_recycle | True | 启用 syslog 自动回收可以防止日志文件填满磁盘空间。 | cluster |
| max_syslog_file_count | 80 | 保留 80 个日志文件,总共占用 20G 日志空间。需要按照您的空间情况进行配置。 | cluster |
| __min_full_resource_pool_memory | 2147483648 | 为资源池指定最小内存值。 | cluster |
| enable_record_trace_log | False | 禁止记录 SQL 和事务跟踪事件。 | cluster |
| large_query_threshold | 600s | 对于复杂的 OLTP 场景,一些查询将运行很长时间。 | cluster |
| log_transport_compress_all | True | 在带宽有限的场景中,可以通过 RPC 压缩以少量 CPU 开销节省网络带宽。 | tenant |
| default_load_mode | DISABLED | 对于复杂的 OLTP 工作负载,默认不使用旁路导入。 | tenant |
| direct_load_allow_fallback | True | 对于复杂的 OLTP 工作负载,当旁路导入失败时允许回退成普通导入方式。 | tenant |
| _enable_filter_reordering | False | 禁用复杂 OLTP 工作负载的筛选器重新排序。 | tenant |
complex_oltp 场景示例
在 sys 租户中执行以下语句,配置集群级配置项。
ALTER SYSTEM SET syslog_level = 'WARN'; ALTER SYSTEM SET enable_syslog_recycle = True; ALTER SYSTEM SET max_syslog_file_count = 80; ALTER SYSTEM SET __min_full_resource_pool_memory = 2147483648; ALTER SYSTEM SET enable_record_trace_log = False; ALTER SYSTEM SET large_query_threshold = '600s';在用户中执行以下语句,配置租户级配置项。
MySQL 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True; ALTER SYSTEM SET _enable_filter_reordering = False;Oracle 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True; ALTER SYSTEM SET "_enable_filter_reordering" = False;
olap
olap 场景配置项推荐值的详细介绍如下:
| 配置项 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| enable_record_trace_log | False | 关闭追踪日志可以带来更好的 AP 性能。 | cluster |
| trace_log_slow_query_watermark | 7d | AP 场景下无需定义慢查询。 | cluster |
| large_query_threshold | 0ms | 表示关闭大查询的检测。 | cluster |
| syslog_level | WARN | 仅保留需要 DBA 关注的或者干预的非预期场景的日志 | cluster |
| enable_syslog_recycle | True | 启用 syslog 自动回收可以防止日志文件填满磁盘空间。 | cluster |
| max_syslog_file_count | 80 | 保留 80 个日志文件,总共占用 20G 日志空间。需要按照您的空间情况进行配置。 | cluster |
| __min_full_resource_pool_memory | 2147483648 | 为资源池指定最小内存值。 | cluster |
| default_table_store_format | column | AP 默认格式指定为纯列存表。 | tenant |
| _io_read_batch_size | 128K | 单次读取 IO 请求的最大批次大小。 | tenant |
| _io_read_redundant_limit_percentage | 50 | 单次读取 IO 请求中冗余数据的最大百分比(冗余数据指批次中间必须读取但已命中缓存或被跳跃索引过滤的数据块)。 | tenant |
| default_load_mode | FULL_DIRECT_WRITE | 对于经典的 OLAP 工作负载,默认使用全量旁路导入。 | tenant |
| direct_load_allow_fallback | False | 对于经典的 OLAP 工作负载,当旁路导入失败时直接报错,不允许回退成普通导入方式。 | tenant |
| _nested_loop_join_enabled | False | 对于经典的 OLAP 工作负载,禁用嵌套循环连接。 | tenant |
| default_table_organization | HEAP | 表中数据行的存储顺序。对于 AP 场景,表中的数据行没有特定的顺序存储。
说明该配置项从 V4.3.5 BP1 版本开始引入。 |
tenant |
olap 场景变量推荐值的详细介绍如下:
| 变量 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| ob_query_timeout | 604800000000 | 设置为 7 天。 | tenant |
| ob_trx_timeout | 604800000000 | 设置为 7 天。 | tenant |
| parallel_degree_policy | AUTO | 表示启用 Auto DOP 策略。 关于 Auto DOP 的详细介绍,参见 Auto DOP。 |
tenant |
| parallel_min_scan_time_threshold | 10 | 对于执行时间在 100ms+ 的查询,可以带来最佳的并行执行性能。 | tenant |
| ob_sql_work_area_percentage | 30 | 设置比较大的工作区内存可以节省内存泄漏带来的成本。 | tenant |
| collation_server | utf8mb4_bin | 相较其他 collation,使用二进制 collation 可以实现 20% 的性能提升。 | tenant |
| collation_connection | utf8mb4_bin | 相较其他 collation,使用二进制 collation 可以实现 20% 的性能提升。 | tenant |
olap 场景示例
在 sys 租户中执行以下语句,配置集群级配置项。
ALTER SYSTEM SET enable_record_trace_log = False; ALTER SYSTEM SET trace_log_slow_query_watermark = '7d'; ALTER SYSTEM SET large_query_threshold = '0ms'; ALTER SYSTEM SET syslog_level = 'WARN'; ALTER SYSTEM SET enable_syslog_recycle = True; ALTER SYSTEM SET max_syslog_file_count = 80; ALTER SYSTEM SET __min_full_resource_pool_memory = 2147483648;在用户中执行以下语句,配置租户级配置项。
MySQL 模式租户的配置示例:
ALTER SYSTEM SET default_table_store_format = 'column'; ALTER SYSTEM SET _io_read_batch_size = '128K'; ALTER SYSTEM SET _io_read_redundant_limit_percentage = 50; ALTER SYSTEM SET default_load_mode = 'FULL_DIRECT_WRITE'; ALTER SYSTEM SET direct_load_allow_fallback = False; ALTER SYSTEM SET _nested_loop_join_enabled = False; ALTER SYSTEM SET default_table_organization = 'HEAP';Oracle 模式租户的配置示例:
ALTER SYSTEM SET default_table_store_format = 'column'; ALTER SYSTEM SET "_io_read_batch_size" = '128K'; ALTER SYSTEM SET "_io_read_redundant_limit_percentage" = 50; ALTER SYSTEM SET default_load_mode = 'FULL_DIRECT_WRITE'; ALTER SYSTEM SET direct_load_allow_fallback = False; ALTER SYSTEM SET "_nested_loop_join_enabled" = False; ALTER SYSTEM SET default_table_organization = 'HEAP';
在用户中执行以下语句,配置租户级变量。
MySQL 模式租户的配置示例:
SET GLOBAL ob_query_timeout = 604800000000; SET GLOBAL ob_trx_timeout = 604800000000; SET GLOBAL parallel_degree_policy = AUTO; SET GLOBAL parallel_min_scan_time_threshold = 10; SET GLOBAL ob_sql_work_area_percentage = 30; SET GLOBAL collation_server = utf8mb4_bin; SET GLOBAL collation_connection = utf8mb4_bin;Oracle 模式租户的配置示例:
SET GLOBAL ob_query_timeout = 604800000000; SET GLOBAL ob_trx_timeout = 604800000000; SET GLOBAL parallel_degree_policy = AUTO; SET GLOBAL parallel_min_scan_time_threshold = 10; SET GLOBAL ob_sql_work_area_percentage = 30;
htap
在本场景下,当前暂无变量配置推荐。
htap 场景配置项推荐值的详细介绍如下:
| 配置项 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| large_query_threshold | 600s | HTAP 工作负载中存在 AP 查询,我们也需要它快速运行。 | cluster |
| enable_record_trace_log | False | 关闭追踪日志可以带来更好的 AP 性能。 | cluster |
| syslog_level | WARN | 仅保留需要 DBA 关注的或者干预的非预期场景的日志 | cluster |
| enable_syslog_recycle | True | 启用 syslog 自动回收可以防止日志文件填满磁盘空间。 | cluster |
| max_syslog_file_count | 80 | 保留 80 个日志文件,总共占用 20G 日志空间。需要按照您的空间情况进行配置。 | cluster |
| __min_full_resource_pool_memory | 2147483648 | 为资源池指定最小内存值。 | cluster |
| log_transport_compress_all | True | 在带宽有限的场景中,可以通过 RPC 压缩以少量 CPU 开销节省网络带宽。 | tenant |
| default_load_mode | DISABLED | 对于经典的 HTAP 工作负载,默认不使用旁路导入。 | tenant |
| direct_load_allow_fallback | True | 对于经典的 HTAP 工作负载,当旁路导入失败时允许回退成普通导入方式。 | tenant |
htap 场景示例
在 sys 租户中执行以下语句,配置集群级配置项。
ALTER SYSTEM SET large_query_threshold = '600s'; ALTER SYSTEM SET enable_record_trace_log = False; ALTER SYSTEM SET syslog_level = 'WARN'; ALTER SYSTEM SET enable_syslog_recycle = True; ALTER SYSTEM SET max_syslog_file_count = 80; ALTER SYSTEM SET __min_full_resource_pool_memory = 2147483648;在用户中执行以下语句,配置租户级配置项。
MySQL 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True;Oracle 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET default_load_mode = 'DISABLED'; ALTER SYSTEM SET direct_load_allow_fallback = True;
kv
在本场景下,当前暂无变量配置推荐。
kv 场景配置项推荐值的详细介绍如下:
| 配置项 | 推荐值 | 推荐值说明 | 级别 |
|---|---|---|---|
| enable_record_trace_log | False | 关闭追踪日志可以带来更好的 AP 性能。 | cluster |
| large_query_threshold | 0ms | 禁用 KV 模式的大型查询检测。 | cluster |
| syslog_level | WARN | 仅保留需要 DBA 关注的或者干预的非预期场景的日志 | cluster |
| enable_syslog_recycle | True | 启用 syslog 自动回收可以防止日志文件填满磁盘空间。 | cluster |
| max_syslog_file_count | 80 | 保留 80 个日志文件,总共占用 20G 日志空间。需要按照您的空间情况进行配置。 | cluster |
| __min_full_resource_pool_memory | 2147483648 | 为资源池指定最小内存值。 | cluster |
| log_transport_compress_all | True | 在带宽有限的场景中,可以通过 RPC 压缩以少量 CPU 开销节省网络带宽。 | tenant |
| _enable_filter_reordering | False | KV 模式禁用过滤器重排序。 | tenant |
kv 场景示例
在 sys 租户中执行以下语句,配置集群级配置项。
ALTER SYSTEM SET enable_record_trace_log = False; ALTER SYSTEM SET large_query_threshold = '0ms'; ALTER SYSTEM SET syslog_level = 'WARN'; ALTER SYSTEM SET enable_syslog_recycle = True; ALTER SYSTEM SET max_syslog_file_count = 80; ALTER SYSTEM SET __min_full_resource_pool_memory = 2147483648;在用户中执行以下语句,配置租户级配置项。
MySQL 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET _enable_filter_reordering = False;Oracle 模式租户的配置示例:
ALTER SYSTEM SET log_transport_compress_all = True; ALTER SYSTEM SET "_enable_filter_reordering" = False;
查看配置项和变量
可以使用
SHOW PARAMETERS LIKE 'parameter_name';语句查询配置项信息。示例如下:
SHOW PARAMETERS LIKE 'enable_syslog_recycle';可以使用下面语句查询变量信息。
MySQL 模式:可以使用
SHOW [GLOBAL] VARIABLES LIKE 'variables_name';语句查询。示例如下:
SHOW VARIABLES LIKE 'ob_query_timeout';SHOW GLOBAL VARIABLES LIKE 'ob_query_timeout';Oracle 模式:可以使用视图
SYS.TENANT_VIRTUAL_SESSION_VARIABLE/SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE查询变量信息。示例如下:
SELECT * FROM SYS.TENANT_VIRTUAL_SESSION_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout';SELECT * FROM SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE WHERE VARIABLE_NAME = 'ob_query_timeout';
相关文档
- 有关配置项和变量的详细介绍,参见 配置项和系统变量概述。
- 有关配置项的设置方法,参见 设置参数。
- 有关变量的设置方法,参见 设置变量。