云数据库 GAUSSDB-锁管理:num_internal_lock_partitions
num_internal_lock_partitions
参数说明:控制内部轻量级锁分区的个数。主要用于各类场景的性能调优。
参数类型:字符串
参数单位:无
取值范围:
- CLOG_PART:CLOG文件控制器的个数。最小值为1,最大值为256。
- CSNLOG_PART:CSNLOG文件控制器的个数。最小值为1,最大值为512。
- LOG2_LOCKTABLE_PART:常规锁表锁分区个数的2对数。最小值4,即锁分区数为16;最大值为16,即锁分区数为65536。
- FASTPATH_PART:每个线程可以不通过主锁表拿锁的最大锁个数。最小值为20,最大值为10000。
默认值:
"CLOG_PART=256,CSNLOG_PART=512,LOG2_LOCKTABLE_PART=4,FASTPATH_PART=20"(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);"CLOG_PART=8,CSNLOG_PART=16,LOG2_LOCKTABLE_PART=4,FASTPATH_PART=20"(4核CPU/16G内存)。
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:
- CLOG_PART:增大该值可以提高CLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CLOG日志写入冲突变大,影响性能。
- CSNLOG_PART:增大该值可以提高CSNLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CSNLOG日志写入冲突变大,影响性能。
- LOG2_LOCKTABLE_PART:增大该值可以提升正常流程常规锁获取锁的并行度,但是会增大内存使用,对于等待事件在LockMgrLock时,可以调大该锁增加性能。
- FASTPATH_PART:对于分区表读取、更新、插入、删除操作且等待事件在LockMgrLock时,可以通过调大该值避免获取LockMgrLock提升性能,建议调整数量大于等于分区数*(1+本地索引数量)+全局索引数量+10,调大该值可能增加锁转移和锁消除时的耗时,并会额外增加内存。fastpath增量内存=((fastpath增加量/20)*8 + fastpath增加量*12) * 线程池大小,单位是字节。
设置不当的风险与影响:设置不当可能会影响数据库性能。
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- GaussDB培训_GaussDB教程_高斯数据库培训-华为云
- GaussDB学习_gaussdb数据库_高斯数据库学习_华为云
- GaussDB配额_GaussDB数据库配额_高斯数据库配额_华为云
- GaussDB数据库_gaussdb类型_高斯数据库_华为云
- GaussDB标签_GaussDB数据库标签_高斯数据库标签_华为云
- GaussDB视频教程_gaussdb查看表结构语句_高斯数据库视频教程_华为云
- GaussDB数据库考试_GaussDB认证_高斯数据库考试_华为云
- GaussDB考试_GaussDB数据库考试_高斯数据库考试_华为云
- GaussDB使用技巧_高斯数据库下载_高斯数据库使用技巧_华为云