技术开发 频道

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

【IT168技术文档】本文详细描述了 DB2® Universal Database™(DB2 UDB)代理的工作原理以及连接集中器的特性,并对 DB2 连接上常见的问题及代理的优化作了详细的分析。希望通过本文让用户能够了解 DB2 的连接机制和客户端与服务器端的交互作用,可以解决在实际的商业环境中遇到的性能问题。

简介

DB2 的代理 (agent) 是位于 DB2 服务器中的服务于应用程序请求的一些进程或线程。当有外部应用程序连接至 DB2 实例提出访问请求时,DB2 的代理就会被激活去应答这些请求。一般 DB2 的代理被称为工作代理,工作代理大概有三种类型:空闲代理、活动的协调代理、子代理。

◆空闲代理:指的是没有任何任务的代理。这种代理不服务于任何远程连接也不服务于本地连接,处于一种备用或待命状态。

◆活动的协调代理:指的是处于工作状态的代理,每一个外部应用程序产生的数据库活动连接的都有一个活动协调代理来为它服务。

◆子代理:指的是接受协调代理分发出来的工作的下一级代理。在 DB2 V95 以前,只有在多分区环境 (MPP) 或节点内并行环境 (SMP) 下才存在子代理,在 DB2 V95 中所有环境中都可能存在子代理。

在 DB2 服务器中有一个代理池,当实例刚启动后这里便有一些代理(其数量取决于实例参数 NUM_INITAGENTS)。在没有任何数据库连接时,它们处于待命状态,就是空闲代理。而当有外部程序连接至数据库时,这些代理开始得到命令去服务于这些新建的连接,这时它们就变成了活动的协调代理。这些协调代理再将请求逐步细分,分配给下一级代理即子代理去处理。如果当前的代理都已经在工作了,同时又来了新的请求,数据库管理器会产生一个新的代理去应答。当事务处理完毕而且数据库连接断开后,协调代理要么返回代理池变回空闲代理,要么就自动消失了(取决于实例参数 NUM_POOLAGENTS)。这就是一个代理的生命周期。
 

0
相关文章