返回首页

gbase数据、南大通用产品文档:GBase8sDS_MAX_SCANS 配置参数

更新日期:2024年09月11日

使用 DS_MAX_SCANS 配置参数来限定数据库服务器可并发执行的 PDQ 扫描线程的数目。
onconfig.std 值

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 70 -
DS_MAX_SCANS 1048576 或 (1024 * 1024)

10 - (1024 * 1024)
单位
PDQ 扫描线程数
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
当用户发出查询时,数据库服务器根据下列值分配一些扫描线程:
 PDQ 优先级的值(通过环境变量 PDQPRIORITY 或 SQL 语句 SET PDQPRIORITY 设
置)
 以 DS_MAX_SCANS 设置的上限
 以 MAX_PDQPRIORITY 设置的因子
 要扫描的表中的分片数(公式中的 nfrags)
内存分配器(MGM)试图根据下列公式为查询保留扫描线程:
reserved_threads = min (nfrags, (DS_MAX_SCANS * PDQPRIORITY / 100 *
MAX_PDQPRIORITY / 100) )
如果公式的 DS_MAX_SCANS 部分大于或等于要扫描的表中的分片数,则查询保持在就绪队
列中,直到有表分片且可用的扫描线程一样多。一旦进行,查询快速地执行,因为线程在
并行地扫描分片。
例如,如果 nfrags 等于 24,DS_MAX_SCANS 等于 90,PDQPRIORITY 等于 50, 且
MAX_PDQPRIORITY 等于 60,则查询不开始执行直到有 nfrags 个扫描线程可用。扫描并行
发生。
如果 DS_MAX_SCANS 公式降到低于分片数,则查询会尽快开始执行,但由于线程串行地扫
描分片,查询执行时间较长。
在前一个示例中,如果将 DS_MAX_SCANS 降低到 40,则查询需要较少的资源(12 个扫描
线程)来开始执行,但每一个线程需要串行地扫描两个分片。执行耗时较长。

GBase 8a ODBC 提供的高可用负载均衡功能是指,GBase 8a ODBC 会将客户
端请求的数据库集群连接平均分摊到集群所有可用的节点上。

本示例中,导出数据中不包含设定的行分隔符,并且将行分隔符设定为十六进制的
字符。
$ ./db2to8a -D'test' -u'db2inst1' -p'db2inst1' -q"select *
from t" -f'data1.txt' -m'3' -e'|' -l"x'62'"
you machine is Little endian!
Connecting to test...
Connected to test.
--- unload [oracle text file] mode ---
--- field="|" ---

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
575
--- record="x'62'" ---
0 rows exported at 2013-10-18 17:21:49
7 rows exported at 2013-10-18 17:21:49
output file ./wzx/data1.txt closed
export:
7 rows.
export:
5 columns.
export time: