PostgreSQL 商用版本EPAS(阿里云ppas) NUMA 架构spin锁等待优化
标签
PostgreSQL , PPAS , enterprisedb , spin , 锁等待优化
背景
PostgreSQL商用版本EnterpriseDB,对于spin锁等待的一个优化,在NUMA架构的硬件中,当跨SLOT等待SPIN LOCK时,可能遇到性能问题,由于SPIN时CPU时间片被抢占,如果长时间等待会导致CPU空转的资源浪费。
通过设置edb_max_spins_per_delay参数,可以缓解这个性能问题。SPIN LOCK等待超过这个自旋次数,将进程转入sleep状态,从而释放CPU(CPU可以分配给其他进程使用),避免长时间占用CPU。
参数
edb_max_spins_per_delay
Parameter Type: Integer
Default Value: 1000
Range: {10 | 1000}
Minim