数据库管理程序配置文件中的各种参数可用来调整 DB2 Connect。有关更改这些参数的信息, 参考管理指南。
RQRIOBLK 参数设置网络 I/O 块的最大大小。较大的块大小可改进大型请求的性能。 块大小通常不影响小型请求(如对单行数据的请求)的响应时间。
较大的块大小在 DB2 Connect 工作站上通常需要更多的内存。 这增加了工作集的大小,可能会导致在小工作站上发生大量的调页。
如果缺省 DRDA 块大小 (32767) 不会在执行应用程序时发生过多的调页, 则使用它。否则,减小 I/O 块大小,直到不发生调页为止。
一旦开始发生调页,就会出现显著的性能降低。 使用性能监控程序工具(如用于基于 UNIX 的系统或 SPM/2 OS/2 版的 vmstat 工具) 以确定系统上是否正在发生调页。有关其他工具,参考性能工具。
DIR_CACHE 参数确定是否对目录信息进行高速缓存。 借助于高速缓存 (DIR_CACHE=YES),读取目录文件并将其高速缓存在内存中, 以将每次建立连接时创建内部目录结构和读取目录文件的额外开销减至最低。
若不进行高速缓存 (DIR_CACHE=NO), 则每当连接至数据库时,将从磁盘读取适当的目录,然后执行搜索。 在找到请求的项后,与目录搜索相关的所有内存被释放。
借助于高速缓存,共享目录高速缓存在 db2start 处理期间被构建,而在 DB2 停止时被释放。此高速缓存由所有 DB2 服务器进程 (db2agent) 使用。而且, 专用应用程序目录高速缓存在应用程序发出其至数据库的首个连接时被构建, 而在该应用程序结束时被释放。
每个高速缓存都提供了系统数据库目录、数据库连接服务目录和节点目录的映象。 高速缓存通过消去目录文件 I/O 和最大限度地减少目录搜索次数来减少连接成本。
如果更新高速缓存的目录,则这些更改不会立即复制至高速缓存。 如果未在高速缓存中找到目录项,则搜索原始目录。
高速缓存增加了应用程序存在时间期内所需的专用内存。 若不进行高速缓存,则仅当处理目录查找时才需要此内存。 总体说来,DB2 所使用的共享内存略有增加, 原因是各数据库代理程序共享的目录信息被移至共享内存。 高速缓存所必需的内存大小取决于在每个目录中定义的项数。
如果 DB2 Connect 工作站上没有任何本地数据库, 则应将 MAXDARI 和 NUMDB 设置为它们的最小值。这些设置将使资源消耗减至最小。
AGENTPRI 仅适用于远程客户机。AGENTPRI 控制 操作系统调度程序向 DB2 Connect 实例的代理程序给出的优先级。如果 DB2 Connect 实例具有较高的优先级 (号码较低),则它被授予更多的 CPU 周期。 这减少了留给在 DB2 Connect 工作站上执行的其他进程的 CPU 周期数。例如, 高优先级DB2 Connect实例和低优先级DB2 Connect实例可在同一工作站上运行, 只是 AGENTPRI 值不同。
每个通过 DB2 Connect 进行的从客户机至主机或 AS/400 数据库服务器的连接需要在 DB2 Connect 工作站上运行的代理程序。将 MAXAGENTS 设置为一个大于或等于远程客户机连接 (这些连接通过 DB2 Connect 工作站存取主机或 AS/400 数据库服务器)数峰值的值。
如果决定使用计帐字符串,则使用 sqlesact() API 的性能比使用 DB2ACCOUNT 环境变量方法的性能好。有关详情,参见在 DB2 通用数据库 OS/390 版上实现对方付费记帐。
如果不需要定制的 SQLCODE 映射文件, 则可通过使用缺省 SQLCODE 映射或关闭 SQLCODE 映射来改进性能。 (缺省映射文件是嵌入在 DB2 Connect 库中的;定制的映射文件必须从磁盘读取, 而这会影响性能。)有关 SQLCODE 映射的详情,参见SQLCODE 映射。