返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

资源对SMP 性能的影响
SMP 架构是一种利用富余资源来换取时间的方案,计划并行之后必定会引起资源消耗
的增加,
包括CPU、
内存、
I/O 等资源的消耗都会出现明显的增长,
而且随着并行度的增大,
资源消耗也随之增大。当上述资源成为瓶颈的情况下,SMP 无法提升性能,反而可能导致
集群整体性能的劣化。下面对各种资源对SMP 性能的影响情况分别进行说明。

CPU 资源
在一般客户场景中,
系统CPU 利用率不高的情况下,
利用SMP 并行架构能够更充分地
利用系统CPU 资源,提升系统性能。但当数据库服务器的CPU 核数较少,CPU 利用率已
经比较高的情况下,如果打开SMP 并行,不仅性能提升不明显,反而可能因为多线程间的
资源竞争而导致性能劣化。

内存资源
查询并行后会导致内存使用量的增长,
但每个算子使用内存上限仍受到work_mem 等参
数的限制。假设work_mem 为4GB,并行度为2,那么每个并行线程所分到的内存上限为
2GB。在work_mem 较小或者系统内存不充裕的情况下,使用SMP 并行后,可能出现数据
下盘,导致查询性能劣化的问题。

I/O 资源
要实现并行扫描必定会增加I/O 的资源消耗,因此只有在I/O 资源充足的情况下,并行
扫描才能够提高扫描性能。

共享内存的虚拟扩展部分包含附加的虚拟段和虚拟扩展段。
虚拟扩展段包含 DataBlade 模块的线程堆以及在用户定义的虚拟处理器中运行的用户定义
的例程。
EXTSHMADD 配置参数可设置虚拟扩展段的大小。SHMADD 和 SHMTOTAL 配置参数
适用于共享内存的虚拟扩展部分,正如它们也适用于共享内存的其他部分一样。

参数说明:设置当前事务的隔离级别。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:字符串,只识别以下字符串,大小写空格敏感:

serializable:GBase 8c 中等价于REPEATABLE READ。

read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数
据。

repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及
在事务执行期间由其它并发事务提交的修改。

default:设置为default_transaction_isolation 所设隔离级别。
默认值:read committed