常用数据库参数调优 本页介绍天翼云TeleDB数据库常用的配置参数调优说明。 常用数据库性能相关参数 参数 类型 用途 默认值/最大值 生效方式 sharedbuffers integer 设置数据库服务器将使用的共享内存缓冲区大小,这个值一般建议1/4物理内存大小。由于进程之间需要同步共享内存信息、且PG还会使用操作系统缓存,因此不宜太大。需要根据内存命中率的情况适当调整该参数 资源模板的1/4 restart tempbuffers integer 连接本地内存,仅用于访问临时表,并不是设置多大就分配多大,而是分配一个buffer指针,按需扩展到tempbuffers。 8MB userset workmem integer 连接本地内存,用于连接的一些排序、hash table等操作,如果workmem不够,则会申请临时磁盘空间。 4MB userset maintenanceworkmem integer 维护操作能申请的最大内存,例如:VACUUM, CREATE INDEX,提高会加速这些操作,包括pgrestore操作。注意autovacuumworkmem如果没有设置,则会使用这个设置,最多能申请autovacuummaxworkersautovacuumworkmem大小内存。因此建议在做维护操作的连接单独设置,并给autovacuum进程单独设置autovacuumworkmem。 64MB userset vacuumcostlimit integer 累积的cost消耗到这个值后,vacuum休眠vacuumcostdelay(默认为0,不休眠)时间。 PG为200,TDSQLPG默认为10000 restart autovacuumvacuumcostdelay floating point 当前所有autovacuum进程积累的cost消耗到autovacuumvacuumcostlimit后休眠的时间。 PG为2ms,TDSQLPG默认为20ms restart walcompression boolean full page image 在写入到WAL中进行压缩,目前是gzip压缩方式,压缩比能到30%。对wal日志比较大系统有提升,但会消耗CPU,一般在5%左右,不同CPU影响程度不一样。 off restart checkpointtimeout integer 两次自动checkpoint间隔时间,设置越大故障时间越长,但IO可能会更平滑,但不能一味设置很大,要看系统的IO、业务压力情况而定。 PG为5min,TDSQLPG默认为10min restart checkpointcompletiontarget floating point checkpoint完成目标,尽量让checkpoint在checkpointcompletiontarget checkpointtimeout时间内完成。 如果checkpoint时间太短,会让checkpoint进入急速模式,IO压力骤增。 PG为0.5min,TDSQLPG默认为0.93 restart randompagecost integer 随机扫描一个块的代价基准值,建议值:SATA/SAS盘: 4SSD:2Nvme SSD:1 PG为4,TDSQLPG默认为2 restart effectivecachesize integer 生成执行计划时,评估数据库能用的缓冲内存大小(sharedbuffers+操作系统的文件系统缓存),不会实际占用。值越大更偏向于走索引扫描,一般可设置总内存 sharedbuffers 业务内存。 4GB restart logmindurationstatement integer 执行时间超过logmindurationstatement的SQL将记录到数据库运行日志中。 PG为1,TDSQLPG默认为10000 reload logstatement enum 设置数据库对那些类型SQL进行日志记录。推荐设置为DDL,加上logmindurationstatement针对慢SQL的设置即可。 PG为none,TDSQLPG默认为ddl reload autovacuumvacuumscalefactor integer 表中数据变化(inserted, updated or deleted tuples)超过表数据比例,之后才会触发autovacuum中的vacuum。 autovacuumanalyzescalefactor同理(PG为0.1,TDSQLPG默认为0.0001)。 PG为0.2,TDSQLPG默认为0.0002 库/表级参数,表级优先 reload fillfactor integer 表填充因子,数据块在插入多少比例数据之后不再插入,留下空间给update操作copy新行使用。在同一块中申请空间,将用到HOT update,对update性能提升很大。 默认为100 表级参数。更改参数需要重建表生效。