返回首页

gbase数据、南大通用产品文档:GBase8a资源管理

更新日期:2024年09月11日

背景信息
在没有资源管理的情况下,多用户多任务并发执行,资源消耗得不到有效调节,会
出现任务间资源激烈争抢以及消耗过度等情况。
在这样的场景下,
SQL 的执行会变
得缓慢并且不可预期,系统会因为资源使用过度而崩溃。因此需要对资源的使用进
行管理调度,使得SQL 任务能够高效快速的运行,系统能够更稳定。

当您启动数据库服务器时,oninit 实用程序将启动您已直接和间接指定了数量和类型的虚
拟处理器。主要通过 ONCONFIG 参数配置虚拟处理器,并且对于网络虚拟处理器,那么
通过 sqlhosts 文件或注册表中的参数来配置。有关虚拟处理器类的描述,请参阅虚拟处理
器类。
可以使用数据库服务器来启动最多 1000 个虚拟处理器。
当数据库服务器处于联机方式后,如果需要,您可以启动其他虚拟处理器以提高性能。有
关更多信息,请参阅在联机方式下添加虚拟处理器。
当数据库服务器处于联机方式,那么您可以删除 CPU 和用户定义类的虚拟处理器。有关
更多信息,请参阅删除 CPU 和用户定义的虚拟处理器。
要终止数据库服务器并且从而终止所有的虚拟处理器,请使用 onmode -k 命令。有关使
用 onmode -k 的更多信息,请参阅《GBase 8s 管理员参考》。

在联机方式下添加虚拟处理器
当数据库服务器处于联机方式时,您可以启动以下类的其他虚拟处理器:CPU、AIO、
PIO、LIO、SHM、STR、TLI、SOC、JVP 和用户定义。数据库服务器自动为 LIO 和
PIO 类的每一个类启动一个虚拟处理器,除非使用了镜像,如果使用了镜像,那么数据库
服务器将启动两个虚拟处理器。
可以使用 onmode 实用程序的 -p 选项启动这些额外的虚拟处理器。
可以使用 onmode 实用程序的 -p 选项或者 ISA 启动这些额外的虚拟处理器。
还可以启动用户定义类的附加虚拟处理器来运行用户定义的例程。有关用户定义的虚拟处
理器的更多信息,请参阅将 UDR 指定给用户定义的虚拟处理器类。

在联机方式下使用 onmode 添加虚拟处理器

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 105 -
使用 onmode 命令的 -p 选项可在数据库服务器处于联机方式时添加虚拟处理器。用正数
指定希望添加的虚拟处理器数。作为选择,您可以在虚拟处理器数前加上一个加号 (+)。
在这个数字后面,请以小写字母指定虚拟处理器的类。例如,以下两个命令中任意一个都
可启动 AIO 类中的其他四个虚拟处理器:
onmode -p 4 aio
onmode -p +4 aio
onmode 实用程序将立即启动附加的虚拟处理器。
一次只可以将虚拟处理器添加到一个类。要为另一个类添加虚拟处理器,您必须再次运行
onmode。

添加网络虚拟处理器
添加网络虚拟处理器时,可添加轮询线程,其中每个轮询线程都需要其自已的虚拟处理器
才能运行。
如果尝试在数据库服务器处于联机方式时为协议添加轮询线程,并且在 NETTYPE 配置
参数中指定轮询线程在 CPU 类中运行,那么在没有 CPU 虚拟处理器可用于运行新轮询
线程时,数据库服务器不会启动新轮询线程。
在以下示例中,轮询线程总共处理 240 个连接:
NETTYPE ipcshm,4,60,CPU # Configure poll thread(s) for nettype
对于 ipcshm,轮询线程的数量对应于内存段的数量。例如,如果 NETTYPE 设置为
3,100 并且您只想要一个轮询线程,那么请将该轮询线程设置为 1,300。

删除 CPU 和用户定义的虚拟处理器
当数据库服务器处于联机方式中,那么您可以使用 onmode 实用程序的 -p 选项来删除或
终止 CPU 或用户定义类的虚拟处理器。
删除 CPU 虚拟处理器
紧跟 onmode 命令之后,请指定一个负数,该数值是您想要删除的虚拟处理器的数量,然
后以小写字母指定 CPU 类。例如,以下命令删除两个 CPU 虚拟处理器:
% onmode -p -2 cpu
如果您尝试删除一个正在运行轮询线程的 CPU 虚拟处理器,那么您将接收以下消息:
onmode: failed when trying to change the number of cpu virtual processor by -number.
有关更多信息,请参阅在 CPU 或网络虚拟处理器上运行轮询线程。
删除用户定义的虚拟处理器
在 onmode 命令的后面,请指定一个负数(该数字是您希望删除的虚拟处理器的数量),
然后以小写字母指定用户定义的类。例如,以下命令将删除类 usr 的两个虚拟处理器:
onmode -p -2 usr

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 106 -
有关如何创建用户定义的虚拟处理器类以及如何将用户定义的例程指定给该类,请参阅用
户定义的虚拟处理器类。

使用 DRINTERVAL 配置参数来指定两次清空数据复制缓冲区间隔的最大秒数,或是否使
用 HDR_TXN_SCOPE 配置参数指定的异步模式。
onconfig.std 值
DRINTERVAL 0

-1 = 使用 HDR SYNC 模式。如果主服务器使用无缓冲的日志记录,则复制是同步的。
0 = HDR_TXN_SCOPE 配置参数的值决定 HDR 数据复制的同步模式。
正整数 = 使用 HDR ASYNC 模式。正整数是两次清空数据复制缓冲区之间间隔的最大秒
数。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
DRINTERVAL 配置参数控制复制延迟,并用来设置复制同步。
如果使用无缓冲的日志记录,则 HDR SYNC 模式与同步模式几乎相同,通过
HDR_TXN_SCOPE 配置参数设置同步模式。
表 1. DRINTERVAL、HDR_TXN_SCOPE和日志记录设置的矩阵,及其 HDR 复制模式的结果。
DRINTERVAL HDR_TXN_SCOPE 日志记录
结果

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

-1

有缓冲
异步复制
-1

无缓冲
将近同步复制
0
FULL_SYNC
有缓冲
完全同步复制
0
FULL_SYNC
无缓冲
完全同步复制
0
ASYNC
有缓冲
异步复制
0
ASYNC
无缓冲
异步复制
0
NEAR_SYNC
有缓冲
将近同步复制
0
NEAR_SYNC
无缓冲
将近同步复制
正整数

有缓冲
异步复制
正整数

无缓冲
异步复制