返回首页

gbase数据、南大通用产品文档:GBase8a版本集群多分片情况下一个节点OFFLINE 性

更新日期:2024年09月11日

能下降严重
问题现象
8512 版本8a 集群,在经分类项目中遇到一旦出现某个节点Offline 后,整体集群
性能下降严重问题。offline 节点的计算任务转移到同SG 的另一个节点,导致计
算资源不足而导致性能成倍下降;
8611 版本开始支持多分片,即一个data node 上存储多个主分片数据,理论上可
以解决单个节点offline 后,整体集群性能严重下降问题;但某项目测试过程中发
现,在单节点两个主分片情况下,offline 一个节点后,性能下降3 倍以上,远低
于1 个主分片时性能下降60%的表现。

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
95
解决方法
该问题的原因,是由于gnode 层的gbase_parallel_max_thread_in_pool、gbase_par
allel_degree 两个参数采用默认配置,造成少量sql 下发后,cpu 资源即被占用完。
该情况下,可调小gbase_parallel_degree,调大gbase_parallel_max_thread_in_pool
参数。

Incomplete input
在将 String 值转换到 IntervalDF 或 IntervalYM 对象的过程中发现一个无效字符。
请查看 INTERVAL 数据类型 并获取正确的值。

DBSPACETEMP 环境变量指定在其中构建临时表的数据库空间。该列表可能包含标准数
据库空间和/或临时数据库空间。

dbspace 是现有的标准或临时数据库空间的名称。
您可以列出数据库空间(用冒号 ( : ) 或逗号 ( , ) 符号来分隔),以便为跨物理
存储设备的临时表指定空间。例如:用来设置 DBSPACETEMP 环境变量的以下命令为临时
表指定三个数据库空间:
setenv DBSPACETEMP sorttmp1:sorttmp2:sorttmp3
DBSPACETEMP 覆盖 DBSPACETEMP 参数在数据库服务器配置文件中指定的任何
缺省数据库空间。对于 UPDATE STATISTICS 操作,只有在指定 HIGH 关键字选项时才
使用 DBSPACETEMP。
在 UNIX™ 平台上,如果 DBSPACETEMP 中的数据库空间列表是由作为原始设备
来分配的块所组成的,那么就可能获得更好的性能。
就象操作系统定义的那样,环境变量的最大大小限制数据库空间的数目。如果该环境
变量指定的数据库空间不存在,那么数据库服务器不会创建该数据库空间。
两类临时表包括用户创建的显式临时表和数据库服务器创建的隐式临时表。使用
DBSPACETEMP 为这两种类型的临时表指定数据库空间。
如果使用 CREATE TEMP TABLE 语句创建显式临时表,且不在 IN dbspace 子句或
FRAGMENT BY 子句中为该表指定数据库空间,那么数据库服务器使用
DBSPACETEMP 中的设置来确定在何处创建该表。
如果使用 SELECT INTO TEMP 语句创建显式临时表,那么数据库服务器使用
DBSPACETEMP 中的设置来确定在何处创建该表。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 162 -
如果设置了 DBSPACETEMP,并且它列出的数据库空间包括日志记录和非日志记录
数据库空间,那么数据库服务器会把临时表(该表隐式或显式支持事务日志记录)存储在
日志记录数据库空间中,并把非日志记录临时表存储在非日志记录数据库空间中。
数据库服务器在执行连接操作、带有 GROUP BY 子句的 SELECT 语句、带有
ORDER BY 子句的 SELECT 语句和索引构建时会创建隐式临时表以供其自身使用。
当数据库服务器创建显式或隐式临时表时,它会使用磁盘空间来写临时数据。如果临
时表位置的设置或语句规范之间有冲突,那么以降序(从最高到最低)的优先顺序解决这
些冲突:
1.
在 UNIX 平台上,环境变量 PSORT_DBTEMP(如果设置了该环境变量的话)指定的一
个或多个操作系统目录
2.
环境变量 DBSPACETEMP 指定的一个或多个数据库空间(如果设置了该环境变量的
话)
3.
ONCONFIG 参数 DBSPACETEMP 指定的数据库空间。
4.
DUMPDIR 配置参数指定的操作系统文件空间
5.
目录 $GBASEDBTDIR/tmp (UNIX)。
要点: 如果将 DBSPACETEMP 环境变量设置为无效值,那么对于显式临时表,数据库
服务器缺省值为根数据库空间,而对于隐式临时表,缺省值为 /tmp,而不是
DBSPACETEMP 配置参数的设置。在此情况下,数据库服务器可能会填充 /tmp 直至达到限
制,最终使得数据库服务器关闭或杀死文件系统。