返回首页

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

更新日期:2024年09月11日

GBase 8a 实例绑定优化
对于海光、鲲鹏CPU 硬件,GBase 8a 一个实例绑定多个numa 节点时需要进
行优化。参看2.3.2 章节GBase 8a 实例绑定numa 节点中的示例,4 个实例均分
numa node0~numa node7,实现了实例号为0 的第一个实例绑定numa node0、
numa node4,实例号1 的第二个实例绑定numa node1、numa node5、实例号2 的
第三个实例绑定numa node2、numa node6,实例号3 的第四个实例绑定numa
node3、numa node7。
但是我们通过numactl –hardware 命令可以查看到CPU 的node 分布情况,
实例号为0 的实例绑定了node0、node4,而node0 与node4 分属于不同的CPU,
这种情况下分属两颗不同物理CPU 中的core 核心绑定为一组运行gbased 的一
个实例,
会造成这两个距离较远的node 在访问彼此node 对应的内存时经历较长
的延时,性能差。实例0~实例3 的绑定都是这种情况。





南大通用数据技术股份有限公司
26/44

优化方案希望各个实例绑定的numa node 在同一个CPU 上,以保证每个实例
访问共享内存时的性能。
对于2.3.2 章节GBase 8a 实例绑定numa 节点中的示例
第一处改动可按如下进行改动:

第二处、第三处改动仍按2.3.2 章节,此处不再表述,可参考2.3.2 章节。

 附本节参考命令:





南大通用数据技术股份有限公司
27/44

关注distance 部分,
每个node 间的distance,
判断cpunodebind 部分脚本
代码绑定的合理性。
根据CPU numanode 的情况设计脚本启动部分绑定逻辑,目标是将彼此间
distance 小的numanode 绑定为一组,提升共享内存的访问性能。
检查绑定后的正确性:
登录一个gnode 所在服务器:
列出gbased 进程的pid
[gbase@P10BUDPDPPDB01 ~]$ pidof gbased
30612 29786 28948 28129
检查每个进程绑定的numanode
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 30612
pid 30612's current affinity list: 48-63,112-127
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 29786





南大通用数据技术股份有限公司
28/44
pid 29786's current affinity list: 32-47,96-111
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 28948
pid 28948's current affinity list: 16-31,80-95
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 28129
pid 28129's current affinity list: 0-15,64-79
其中affinity list 的数字部分代表了cpu processor 的编号,和numactl
中的以下信息部分对应,
可以用上述命令检查当前的绑定是否正确,
调整绑定关
系后绑定是否正确。


每个逻辑日志文件(不管是否备份到介质)都有唯一的标识号。以初始化数据库服务器磁
盘空间后所填充的第一个逻辑日志文件为 1 而开始该序列。在当前逻辑日志文件已满
时,数据库服务器切换到下一个逻辑日志文件并为新日志文件将唯一标识号增加 1。新添
加的或标记为删除的日志文件的唯一标识号为 0。
为每个逻辑日志文件分配的实际磁盘空间具有称为日志文件号的标识号。例如,如果您配
置 6 个逻辑日志文件,那么这些文件具有从 1 到 6 的日志号。日志号可以不按顺序。
在备份并释放逻辑日志文件时,数据库服务器将磁盘空间重新用于逻辑日志文件。
下表说明了日志号和唯一标识号之间的关系。 日志 7 在日志 5 之后插入,并在第二次
循环交替中第一次使用。
表 1. 逻辑日志文件的编号顺序
日志文件号
第一次循环交替唯一
标识号
第二次循环交替唯一
标识号
第三次循环交替唯一
标识号
1
1
7
14
2
2
8
15
3
3
9
16
4
4
10
17
5
5
11
18
7
0
12
19
6
6
13
20

存储空间的大小(SQL 管理 API)
随同 admin() 或 task() 函数,使用 modify space sp_sizes 参数来更改与扩大的存储
空间相关的创建大小、扩展大小和大小的最大值。更改大小来控制 GBase 8s 如何使用特
定存储空间的存储池条目。
语法

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 762 -

元素
描述
关键考虑
space_name
存储空间的名称。

max_size
存储空间大小的最大值,以 KB
为单位。
大小的缺省最大值为 0,
表明大
小不受限制。
new_create_size
当使用存储池动态地扩大这个
空间时,服务器可创建的新
chunk 大小的最小值。
您可定义
该大小为 KB 数,
或为全部空间
的百分率。
缺省创建大小设置为该空间全
部大小的 10%。
你指定的大小影响服务器自动
地创建的 chunk。该大小不影
响您可能为相关的空间创建的
任何手工 chunk。
new_extend_size
当在无镜像的 dbspace 或临时
dbspace 中自动地扩展 chunk
时,
服务器可使用该大小的最小
值。
该大小可指定为 KB 数,

全部空间的百分率。
缺省扩展大小为 10 MB。
您指定的大小影响服务器自动
地扩展的 chunk。该大小不影
响您对相关的空间进行的任何
手工 chunk 扩展。

用法
如果创建大小或扩展大小值为 100 或更低的值,
则 GBase
8s 将该值解释为百分率
(例如,
10
=
10%,2.84
=