WEB开发网
开发学院数据库DB2 带你深入了解IBM DB2的通信与连接过程 阅读

带你深入了解IBM DB2的通信与连接过程

 2008-08-28 16:25:59 来源:WEB开发网   
核心提示: ◆执行命令 netstat –a 检查输出中是否有 services 中定义的端口或服务在监听,如果没有,带你深入了解IBM DB2的通信与连接过程(10),则可能需要重启网络或机器,◆这种问题也可能是防火墙导致的,希望读者能够对 DB2 的通信与连接过程有一个清晰的了解,也希

◆执行命令 netstat –a 检查输出中是否有 services 中定义的端口或服务在监听。如果没有,则可能需要重启网络或机器。

◆这种问题也可能是防火墙导致的,在 Linux 上可以通过编辑 /etc/sysconfig/iptables 文件来绕过防火墙 ( 需要 root 权限 )。

◆在 WINDOWS 有时还会遇到“No buffer space available(maximum connections reached?)”的错误消息,这种错误和 DB2 无关,需要增大 WINDOWS 的注册表参数值:

◆HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementSystemPages

如果遇到其他特殊的问题可以通过命令 DB2 ? sqlxxxxx 来根据得到的提示去分析具体问题。

4. 性能优化

调节 NUM_POOLAGENTS:

对于决策支持系统,由于连接数较少,NUM_POOLAGENTS 可以设为一个较小的值从而避免过多的空闲代理而浪费资源。而对于在线事务处理系统,由于连接数较多,可以设为一个较大的值从而减少频繁创建和删除代理所产生的系统消耗。具体数值可以通过分析数据库管理器快照来进行调节 :

清单 5. 通过分析数据库管理器快照来调节 NUM_POOLAGENTS

db2 get snapshot for dbm
...
Agents assigned from pool = 38
Agents created from empty pool = 158
Agents stolen from another application = 1
...

当 Agents created from empty pool / Agents Assigned From Pool 的比值较小时,说明代理的重用率比较高。当比值比较大时,说明这时代理的创建、删除比较频繁,此时需要增大 NUM_POOLAGENTS 来减少系统频繁创建、删除代理时的资源消耗。当 Agents stolen from another application 的值较大时也应当增大 NUM_POOLAGENTS 的值。当然如果 NUM_POOLAGENTS 设得太大,可能会产生很多不必要的空闲代理长时间滞留在代理池中,造成资源的浪费。在 V8,V9.1 中 NUM_POOLAGENTS 的缺省值为 MAXAGENTS 的值的一半,而在 V9.5 中 NUM_POOLAGENTS 的缺省值被设为 AUTOMATIC( 初始值为 100),这样数据库管理器可以自动管理代理池中空闲代理的数目。

调节 NUM_INITAGENTS:

NUM_INITAGENTS 的值最好和 NUM_POOLAGENTS 值一致。这样可以减少处理事务时生成代理的时间,而将这部分等待时间转移到启动实例时,这对用户来说是最理想的。

调节 MAX_CONNECTIONS 与 MAX_COORDAGENTS:

激活连接集中器,即设定 MAX_CONNECTIONS 大于 MAX_COORDAGENTS,这样可以节省 DB2 代理的数目,减少资源消耗,扩大连接数。在 V9.5 中最好将 MAX_CONNECTIONS 与 MAX_COORDAGENTS 都设为 AUTOMATIC,这样可以让 DB2 自动根据连接数来调节代理数。

DB2 V8,V9.1,V9.5 代理的差异性

DB2 在从 V8 到 V95 中代理特性有很多的改变,表 1 中列举了一些典型的特性上的差异供读者参考。

表 1:DB2 不同版本之间代理的差异性

带你深入了解IBM DB2的通信与连接过程

结束语

通过以上对 DB2 代理和连接特性的介绍,希望读者能够对 DB2 的通信与连接过程有一个清晰的了解。也希望读者能够了解 DB2 V9.5 中的代理新特性,并能够利用这些新特性更好地优化数据库。

上一页  5 6 7 8 9 10 

Tags:深入 了解 IBM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接