© 2010 IBM Corporation2010年6月22日星期二
Informix Dynamic Server PDQ
Informix Enablement Team
Information Management – Informix
© 2010 IBM Corporation2
Agenda
§ 1) Foreword *
§ 2) What is PDQ? *
§ 3) Settings that affect PDQ. *
§ 4) How to use PDQ *
§ 5) How does PDQ work? *
§ 6) Monitoring PDQ – onstat –g mgm *
2
Information Management – Informix
© 2010 IBM Corporation3
Who is PDQ?
§并行数据库查询(PDQ)是一种 Informix 数据库服务器功能,
当数据库服务器处理由决策支持应用程序所初始化的查询时,
该功能可以显著提高性能。PDQ允许数据库服务器将查询一个
方面的某个工作分发给几个处理器。例如:如果查询要求聚集
,则数据库服务器可以将聚集工作分发给几个处理器。PDQ还
包含用于资源管理的工具。
§数据库服务器的另一功能―
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
分段存储,允许您将表的各部
分存储在不同的磁盘上。当您查询的数据在分段表中时,
PDQ将提供最佳的性能好处。
3
Information Management – Informix
© 2010 IBM Corporation4
Settings that affect PDQ
§ PDQPRIORITY -一个百分比值,它确定默认PDQPRIORITY要查询的任何
要求。
§ MAX_PDQPRIORITY -一个百分比值代表PDQPRIORITY最大数额的米高
梅将给予任何查询。查询实际PDQPRIORITY的是(MAX_PDQPRIORITY
* PDQPRIORITY)。例如,一个查询,要求50%的人格诊断,以
§ MAX_PDQPRIORITY设置为50%,将导致25查询与一个PDQPRIORITY。
§ DS_TOTAL_MEMORY -查询可以获取的共享内存设置上限,以字节为单位
,分配给用PDQ查询。必须是SHMVIRTSIZE百分比,通常设置为系统优化
决策支持系统查询到一个SHMVIRTSIZE 90%。
§ DS_MAX_QUERIES –在任意时刻运行的决策支持查询的最大数目。
§ DS_MAX_SCANS -可查询同时运行的最大扫描线数。
4
Information Management – Informix
© 2010 IBM Corporation5
How to use PDQ
§ A)设置在一个查询PDQPRIORITY
§ 要设置一个特定的交易PDQPRIORITY,包括您的SQL语句下面的SQL行开
头:
§ 0-100之间的SET PDQPRIORITY] [数字。
§ 任何用户都可以设置方式PDQPRIORITY在这方面为其查询。
§ 此设置将覆盖所有其他PDQPRIORITY设置。
§ B)为用户设置一个默认PDQPRIORITY
§ 要设置用户的默认PDQPRIORITY,设定一个环境变量的值等于在他们之间
0-100 PDQPRIORITY。变量或作为默认为所有用户登录脚本。在HP - UX
操作系统,这将出现在他们的。登录行脚本如下:
§ 目录setenv PDQPRIORITY 100
§ 请注意,此设置可查询重写的一个设置的一部分PDQPRIORITY作为。
5
Information Management – Informix
© 2010 IBM Corporation6
How to use PDQ
§ SET PDQPRIORITY 语句覆盖 PDQPRIORITY环境变量(但是比
MAX_PDQPRIORITY 配置参数的优先级要低)。 SET PDQPRIORITY 的
作用域对例程而言为本地作用域,且不会影响同一会话内的其它例程。
§ SPL 例程中不支持 SET PDQPRIORITY 语句。
§ 在 Dynamic Server 中,将 PDQ 优先级设置为一个值,该值小于 100 除以
准备好的语句的最大数的商。例如,如果有 2 个准备好的语句是活动的,
则应该将 PDQ 优先级设置为小于 50。
§ 例如,假设 DBA 将 MAX_PDQPRIORITY 参数设置为 50。则用户输入以
下 SET PDQPRIORITY 语句,将查询优先级级别设置为资源的 80%:
§ 当处理查询时,数据库服务器使用 MAX_PDQPRIORITY 值作为因数乘以
由用户设置的优先级级别。数据库服务器以静默方式处理优先级级别为 40
的查询。此优先级级别代表用户指定的资源的 80% 的一半。
6
SET PDQPRIORITY 80
Information Management – Informix
© 2010 IBM Corporation7
PDQ and onstat
§ onstat -g mgm 选项
§ onstat -g mgm 选项打印内存分配管理器(MGM)资源信息。
可以使用 onstat -g mgm 选项监视 MGM 如何协调内存使用和
扫描线程。此 onstat 选项读取共享内存结构并提供在命令执行
时的精确统计信息。
§ onstat -g mgm 输出显示称作量子的内存单位。内存量子代表
内存单位,如下所示:
§内存量子 = DS_TOTAL_MEMORY / DS_MAX_QUERIES
§以下算式显示图 67 显示的值的内存量子:
§内存量子 = 4000 千字节 / 31
§ = 129 千字节
§ scan thread quantum 总是等于 1。
7
Information Management – Informix
© 2010 IBM Corporation8
Onstat sample output
§ onstat -g mgm 选项
§ onstat -g mgm 选项打印内存分配管理器(MGM)资源信息。
可以使用 onstat -g mgm 选项监视 MGM 如何协调内存使用和
扫描线程。此 onstat 选项读取共享内存结构并提供在命令执行
时的精确统计信息。
§ onstat -g mgm 输出显示称作量子的内存单位。内存量子代表
内存单位,如下所示:
§内存量子 = DS_TOTAL_MEMORY / DS_MAX_QUERIES
§以下算式显示图 67 显示的值的内存量子:
§内存量子 = 4000 千字节 / 31
§ = 129 千字节
§ scan thread quantum 总是等于 1。
8
Information Management – Informix
© 2010 IBM Corporation9
How to use PDQ
§ IBM Informix Dynamic Server Version 10.00.UC1 -- On-Line -- Up
00:00:51 -- 21504 Kbytes
§ Memory Grant Manager (MGM)
§ --------------------------
§ MAX_PDQPRIORITY: 100
§ DS_MAX_QUERIES: 31
§ DS_MAX_SCANS: 1048576
§ DS_NONPDQ_QUERY_MEM: 128 KB
§ DS_TOTAL_MEMORY: 4000 KB
§ Queries: Active Ready Maximum
§ 0 0 31
§ Memory: Total Free Quantum
§ (KB) 4000 4000 128
§ Scans: Total Free Quantum
§ 1048576 1048576 1
9