VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

资源池化性能建议参数

以下参数的建议取值仅适用于性能测试场景,不代表生产环境。

表1 资源池化性能建议参数清单

配置项/参数 说明 建议取值
客户端认证策略 在pg_hba.conf增加的客户端认证策略。 host all all  0.0.0.0/0 md5
advance_xlog_file_num 用于控制备机在后台周期性地提前初始化xlog文件的数目。该参数是为了避免事务提交时执行xlog文件初始化影响性能。 5
allow_concurrent_tuple_update 设置是否允许并发更新。 TRUE
audit_enabled 审计开关。 off
autovacuum 自动清理开关。 on
autovacuum_analyze_scale_factor 设置触发一个ANALYZE时增加到autovacuum_analyze_threshold的表大小的缩放系数。 0.02
autovacuum_max_workers 设置能同时运行的自动清理线程的最大数量。 8
autovacuum_mode 控制autoanalyze或autovacuum的打开情况。 vacuum
autovacuum_naptime 设置两次自动清理操作的时间间隔。 5s
autovacuum_vacuum_cost_delay 设置在自动VACUUM操作里使用的开销延迟数值。 10
autovacuum_vacuum_scale_factor 设置触发一个VACUUM时增加到autovacuum_vacuum_threshold的表大小的缩放系数。 0.1
bgwriter_delay 设置后端写线程写“脏”共享缓冲区之间的时间间隔。 5s
bgwriter_flush_after 设置background writer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。 32
checkpoint_segments 设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。 8000
checkpoint_timeout 设置自动WAL检查点之间的最长时间。 15min
client_min_messages 控制发送到客户端的消息级别。 ERROR
cstore_buffers 设置列存所使用的共享缓冲区的大小。 16MB
default_transaction_isolation 设置默认的事务隔离级别。 read committed(读已提交)
enable_alarm 允许打开告警检测线程,检测数据库中可能的错误场景。 off
enable_asp 统计参数。是否开启活跃会话信息active session profile。 off
enable_bbox_dump 开启黑匣子功能,在系统不配置core机制的时候仍可产生core文件。 off
enable_beta_opfusion TPCC中出现的聚集函数,排序两类SQL语句的加速执行。 on
enable_bitmapscan 控制优化器对位图扫描规划类型的使用。 off
enable_cachedplan_mgr 是否开启自适应计划选择功能。 off
enable_codegen 标识是否允许开启代码生成优化,目前代码生成使用的是LLVM优化。 FALSE
enable_data_replicate 当数据库在数据导入行存表时,主机与备机的数据同步方式。 off
(表示导入数据行存表时主备数据采用日志(Xlog)方式进行同步)
enable_global_syscache 控制是否使用全局系统缓存功能。 on
enable_hashjoin 控制优化器对Hash连接规划类型的使用。 off
enable_incremental_checkpoint 增量检查点开关。 on
enable_indexscan_optimization 控制是否对astore存储引擎下的btree索引扫描 (IndexScan和IndexOnlyScan) 进行优化。 on
enable_instance_metric_persistent 设置是否开启实例资源监控转存功能。 off
enable_instr_cpu_timer 是否捕获SQL执行的cpu时间消耗 。 off
enable_instr_rt_percentile 追踪SQL相应时间的开关。 off
enable_instr_track_wait 是否开启等待事件信息实时收集功能。 off
enable_logical_io_statistics 设置是否开启资源监控逻辑I/O统计功能。 off
enable_material 控制优化器对实体化的使用。 off
enable_mergejoin 控制优化器对融合连接规划类型的使用。 off
enable_nestloop 控制优化器对内表全表扫描嵌套循环连接规划类型的使用。 off
说明:完全消除嵌套循环连接是不可能的,但是关闭这个变量就会让优化器在存在其他方法的时候优先选择其他方法。
enable_opfusion 控制是否对简单增删改查进行优化。 on
enable_page_lsn_check 数据页lsn检查开关。 off
enable_resource_track 是否开启资源实时监控功能。 off
enable_save_datachanged_timestamp 确定是否收集insert/update/delete,exchange/truncate/drop partition操作对表数据改动的时间。 FALSE
enable_seqscan 控制优化器对顺序扫描规划类型的使用。 off
说明:完全消除顺序扫描是不可能的,但是关闭这个变量会让优化器在存在其他方法的时候优先选择其他方法。
enable_stmt_track 控制是否启用Full /Slow SQL特性。 FALSE
enable_thread_pool 线程池开关,根据实际平台进行配置。关闭以可获得更好性能。 off
enable_user_metric_persistent 设置是否开启用户历史资源监控转存功能。 off
enable_xlog_prune 设置在任一备机断联时,主机是否根据xlog日志的大小超过参数max_size_for_xlog_prune的值而回收日志。 off
fsync 强制刷盘。设置Vastbase服务器是否使用fsync系统函数确保数据的更新及时写入物理磁盘中。 POC场景下不考虑数据丢失时可设为off
full_page_writes 全页写开关。 off
gs_clean_timeout 控制主节点周期性清理临时表的时间的平均值。 0
hot_standby 设置是否允许备机在恢复过程中连接和查询。 off
hot_standby_feedback 设置是否允许将备机上执行查询的结果反馈给主机。 off
incremental_checkpoint_timeout 增量检查点开关打开之后,设置自动WAL检查点之间的最长时间。 5min
instr_unique_sql_count 控制系统中unique sql信息实时收集功能。 0
light_comm 指定服务器是否使用轻量通信方式。 on
listen_addresses 服务器侦听客户端的TCP/IP地址。 “*”(表示侦听所有IP地址)
local_syscache_threshold 系统表cache在单个session缓存的大小。 32MB
log_duration 控制记录每个已完成SQL语句的执行时间。 off
log_min_messages 控制写到服务器日志文件中的消息级别。 FATAL
maintenance_work_mem 设置在维护性操作(比如VACUUM)中可使用的最大的内存,该参数的设置会影响VACUUM/VACUUM FULL等操作的执行效率。 2GB
max_connections 允许和数据库连接的最大并发连接数。 4096
max_files_per_process 设置每个服务器进程允许同时打开的最大文件数目。 100000
max_io_capacity 设置后端写线程批量刷页每秒的I/O上限。 10GB
max_prepared_transactions 设置可以同时处于“预备”状态的事务的最大数目。 2048
max_process_memory 设置一个数据库节点可用的最大物理内存。 物理内存80%左右
max_redo_log_size 备DN表示当前回放的最新检查点位置和当前日志回放位置之间日志量的期望值,主DN表示恢复点到当前最新日志之间日志量的期望值。 400GB
numa_distribute_mode 多NUMA节点的ARM服务器性能调优参数。设置为all表示将部分共享数据和线程分布到不同的NUMA节点下,减少远端访存次数,提高性能。 all
pagewriter_sleep 增量检查点打开后,pagewrite线程每隔pagewriter_sleep的时间刷一批脏页下盘。 5s
pagewriter_thread_num 设置用于增量检查点打开后后台刷页的线程数。 4
password_encryption_type 决定采用何种加密方式对用户密码进行加密存储。 1(表示采用sha256和md5两种方式分别对密码加密)
password_reuse_max 设置新用户密码时新密码不能为该值指定的次数内使用过的密码。 1
plog_merge_age 该参数用于控制性能日志数据输出的周期。 0(表示当前会话不再输出性能日志数据。)
remote_read_mode 远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 non_authentication
(开启远程读功能,但不进行证书认证。)
segment_buffers 设置Vastbase段页式元数据页的内存大小。 1GB
session_timeout 会话超时时长。 0(关闭超时设置。)
shared_buffers 设置Vastbase使用的共享内存大小。 物理内存40%左右
ss_enable_ssl 资源池化模式下是否开启ssl功能。 off
ss_interconnect_channel_count mes通信键连通道数量。 32
ss_recv_msg_pool_size mes消息接收池大小。 1GB
ss_work_thread_count mes工作线程的数量。 128
ssl SSL功能总开关。 off
synchronous_commit 设置当前事务的同步方式。 on
thread_pool_attr 用于控制线程池功能的详细属性。 500,4,(cpubind:1-19,24-44,48-67,72-91)
分别表示线程池中的线程总数、分组数、绑核配置参数。
track_activities 控制收集每个会话中当前正在执行命令的统计数据。 off
track_counts 追踪vacuum相关的统计数据。 off
track_sql_count 控制对每个会话中当前正在执行的SELECT、INSERT、UPDATE、DELETE、MERGE INTO语句进行计数的统计数据。 off
transaction_isolation 设置当前事务的隔离级别。 read committed
update_lockwait_timeout 允许并发更新参数开启情况下,该参数控制并发更新同一行时单个锁的最长等待时间。 20min
use_workload_manager 开启资源管理功能。 off
vacuum_cost_limit 用于控制VACUUM命令在执行过程中的开销限制。当VACUUM命令的开销超过这个限制时,它会进入休眠状态,以避免过度消耗系统资源。 10000
wal_buffers 设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数。 1GB
wal_file_init_num WAL编写器将创建的xlog段文件的数量。 20
wal_keep_segments xlog日志文件段数量:设置pg_xlog目录下保留事务日志文件的最小数目。 128
wal_level 设置写入WAL信息量的级别。 archive(包含WAL归档需要的日志信息,从而可以支持数据库的归档恢复)
wal_log_hints 设置在检查点之后对页面的第一次修改为页面上元组hint bits的修改时,是否将整个页面的全部内容写到WAL日志中。 off
walwriter_cpu_bind 绑定到WAL写入线程的CPU核。 0
walwriter_sleep_threshold xlogflusher进入sleep之前空闲xlog刷新的次数,达到阈值会休眠。 50000
work_mem 设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小。 1MB
xloginsert_locks 控制用于并发写预写式日志锁的个数。 16