最快的 Informix DBA:他们是如何做到的?
2009-11-14 00:00:00 来源:WEB开发网最快的 DBA 还特别控制了 BUFFERPOOL 的大小。而 BUFFERPOOL 过大会造成 OS 开始换出磁盘并会降低整个系统的速度。在添加缓冲时,您还需要考虑 Least Recently Used (LRU) 查询的数量,它们用于管理 BUFFERPOOL 中的所有这些额外的分页。最快的 DBA 增加了 LRU 查询,以便于更加有效地处理额外的内存。
SHMVIRTSIZE,这是 Informix 将分配给工作空间和虚拟内存的内存量。所有较快的 DBA 增加了这个值。而最快的 DBA 增加的最多。SQL 中还有大量 “group by” 语句,因此增加虚拟内存并对 Parallel Database Query (PDQ) 流程执行一些更改可以让任务更多地在内存中完成。
DS_TOTAL_MEMORY,这是 SHMVIRTSIZE 内存中将用于 PDQ 操作的内存量。其默认值非常小,增加这个值有助于排序和索引构建。
DS_NONPDQ_QUERY_MEM,这是在未使用 PDQ 执行排序时分配给排序任务的内存量。由于基准测试系统上只有一个磁盘驱动器,因此 PDQ 并没有太大用处。增加这个参数有助于排序和索引构建。
LOCKS,LOCKS 的数量和它们可用的内存量。如果此配置参数不够大,则 Informix 会动态增加它,但动态增加的值是非常有限的。最快的 DBA 都设置了 LOCKS 的数量,这样服务器就不需要动态增加这个值。
RESIDENT,设置这个值可以将 Informix 维持在内存中,并通知 OS 不要将数据库服务器换出到磁盘中。所有较快的 DBA 都设置了这个值,以便将 Informix 维持在内存中。CPU VP ——基准测试机构采用四核 CPU,并且可以支持四个 Informix CPU 虚拟处理器 (VP)。所有较快的 DBA 都将 CPU VP 的数量设置为 3 到 4 之间,以便于利用机器上的所有 CPU。
DBSPACETEMP,我在基本配置中创建了一个临时的 dbspace,但是并未在 ONCONFIG 文件中定义它,因此未使用它。而是将 rootdbs 用于排序和临时文件。所有较快的 DBA 都修改了 ONCONFIG 文件,在其中标识并定义了这个参数。一些 DBA 甚至创建了两个或三个额外的临时 dbspaces,因此 Informix 可以并行读取和写入 tempdbs。
更多精彩
赞助商链接