多租数据库
enable_mtd
参数说明:用于控制是否开启内核多租功能。
参数类型:布尔型。
参数单位:无
取值范围:
- on:打开内核多租功能。
- off:关闭内核多租功能。
默认值:off
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:在实例安装时会决定多租是否打开,不建议自行修改该参数取值。
设置不当的风险与影响:修改该参数取值可能导致实例无法启动。
backend_resource_attr
参数说明:用于控制后台线程CPU功能的详细属性,修改后台线程cgroup的share和quota的值,该参数仅在enable_mtd打开后生效,仅sysadmin用户可以访问。
参数类型:字符串
参数单位:无
取值范围:该参数分为四个部分,'backend_total_share, backend_total_quota, backend_share,vacuum_share',这四个部分的具体含义如下:
- backend_total_share:后台线程占整个实例的百分比。
取值范围:1~99。默认值40,代表后台线程总占比是40%。
后台线程占比大小推荐根据硬件配置设置。后台线程比例和租户比例之和保持100%。
根据计算公式 backend_total_share = 100*x/(x+ceil(集群的CPU核数*1.1)),得出的x*1024就是配置到Backend控制组的share值。
举例:backend_total_share=40,cpu核数16U,通过上述公式计算得出share值是12288。
- backend_total_quota:后台线程总体可以使用的CPU个数。
取值范围:0~数据库实例CPU核数。其中0表示后台线程没有CPU上限控制;如果参数值大于0,表示后台线程可以使用的CPU核数不能超过这个值。
- backend_share:后台线程中除了vacuum线程之外线程的权重。举例:backend_share=80,在DefaultBackend控制组里面share生效值就是80*1024。
- vacuum_share:vacuum的线程权重。举例:vacuum_share=20,在Vacuum控制组里面share生效值就是20*1024。
默认值:"40, 0, 80, 20"
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:(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内存)"40.round(核数*0.05).80.20";(16核CPU/128G内存)"40.1.80.20"。
设置不当的风险与影响:设置share或者quota过低,会减少后台线程的cpu使用的时间片,导致后台线程业务处理不及时造成租户的公共业务等待。设置过高的话,租户的可以用CPU资源会减少。
pdb_transaction_read_only
参数说明:设置当前PDB事务是否为只读事务。
参数类型:布尔型。
参数单位:无
取值范围:
- on:表示当前PDB事务为只读状态。
- off:表示当前PDB事务为非只读状态。
默认值:off
设置方式:该参数属于PDB_SIGHUP类型参数,请参考16.2-表 GUC参数分类中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:该参数设为on后,无法执行dml操作和写事务。