文档中心MogDBMogDB StackUqbar
v2.0

文档:v2.0

支持的版本:

其他版本:

数据库推荐参数

推荐参数说明

PTK 在安装 MogDB 数据库时,默认会根据服务器的配置进行数据库参数自动优化修改,具体会对哪些参数修改,不同的版本不尽相同,您可以通过这个命令来进行查看:

# MogDB-VERSION 替换为具体的 MogDB 版本号
ptk rec-guc <MogDB-VERSION>

# 您也可以通过同时指定两个版本号来进行对比差异(最多支持同时指定两个版本号)
ptk rec-guc <VERSION1> <VERSION2>

如果您不希望 PTK 做参数优化,可以在安装数据库集群时指定 --default-guc 参数即可,指定了该参数后,PTK 在安装时除了配置必要参数外,其他参数保持数据库默认值。

注意

  1. PTK 仅针对 MogDB 和 Uqbar 数据库做数据库参数优化,其他同类型数据库安装时采用默认参数。
  2. 如果在配置文件中 db_conf 字段配置了和优化参数中同名参数,db_conf 中配置的会生效
  3. 当部署数据库的服务器内存小于 4G 时,所有的优化参数会保持数据库默认值。

必要参数

当部署的集群中只有一个数据库实例时,会在必要参数中增加 most_available_sync=on,来开启最大可用模式。

参数
local_bind_address PTK配置文件中 db_servers 的 host 字段
port PTK配置文件中 db_servers 的 db_port 字段
application_name PTK 为实例分配的节点名, 例如 db_6001
available_zone PTK配置文件中 db_servers 的 az_name
unix_socket_directory PTK配置文件中的 tmp_dir
unix_socket_permissions 0700
log_file_mode 0600
ssl off
ssl_cert_file server.crt
ssl_key_file server.key
ssl_ca_file cacert.pem
log_directory PTK配置文件中的 $log_dir 下 pg_log/$application_name
audit_directory PTK配置文件中的 $log_dir 下 pg_audit/$application_name
listen_addresses *
max_wal_senders 16

优化参数

第一部分:与内存大小相关的参数(假设内存大小为 N,单位GB)

  • 当4 < N <= 8 时
参数
max_connections 500
max_prepared_transactions 500
max_process_memory (0.6*N)GB
shared_buffers (0.2*N)GB
work_mem 16MB
maintenance_work_mem 512MB
wal_buffers 128MB
  • 当 8 < N <= 64 时
参数
max_connections 1000
max_prepared_transactions 1000
max_process_memory (0.7*N)GB
shared_buffers (0.2*N)GB
work_mem 32MB
maintenance_work_mem 1GB
wal_buffers 512MB
  • 当 N > 64 时
参数
max_connections 3000
max_prepared_transactions 3000
max_process_memory (0.8*N)GB
shared_buffers (0.3*N)GB
work_mem 64MB
maintenance_work_mem 2GB
wal_buffers 1GB

第二部分:固定优化参数列表

参数
remote_read_mode non_authentication
password_encryption_type 1
password_reuse_time 0
password_lock_time 0
password_effect_time 0
session_timeout 0
modify_initial_password off
wal_level logical
full_page_writes off
wal_log_hints off
xloginsert_locks 48
advance_xlog_file_num 10
wal_keep_segments 1024
most_available_sync on
catchup2normal_wait_time 0
enable_slot_log on
max_replication_slots 32
wal_receiver_timeout 10s
sync_config_strategy none_node
log_line_prefix '%m %u %d %r %p %S'
log_checkpoints on
vacuum_cost_limit 1000
autovacuum_max_workers 10
autovacuum_naptime 20s
autovacuum_vacuum_cost_delay 10
autovacuum_vacuum_scale_factor 0.05
autovacuum_analyze_scale_factor 0.02
autovacuum_vacuum_threshold 200
autovacuum_analyze_threshold 200
autovacuum_io_limits 104857600
instr_unique_sql_count 200000
enable_wdr_snapshot on
log_min_duration_statement 200
track_activity_query_size 2048
enable_instr_rt_percentile off
cstore_buffers 16MB
local_syscache_threshold 32MB
standby_shared_buffers_fraction 1
checkpoint_segments 1024
checkpoint_completion_target 0.8
max_files_per_process 100000
behavior_compat_options display_leading_zero
lc_messages en_US.UTF-8
lc_monetary en_US.UTF-8
lc_numeric en_US.UTF-8
lc_time en_US.UTF-8
enable_opfusion off
Copyright © 2011-2024 www.enmotech.com All rights reserved.