WEB开发网
开发学院数据库DB2 使用DB2 Universal Database V8中的连接集中器来增... 阅读

使用DB2 Universal Database V8中的连接集中器来增强性能

 2009-12-22 14:58:52 来源:WEB开发网   
核心提示:分配器分配器(dispatcher)是一个 DB2 进程 (db2disp),即连接集中器的关键组件,使用DB2 Universal Database V8中的连接集中器来增强性能(2),它通过将入站的连接和事务分配给代理,而控制连接到代理的多路复用,但是这时没有任何事务在运行,命令输入:conniel@bugdbug

分配器

分配器(dispatcher)是一个 DB2 进程 (db2disp),即连接集中器的关键组件。它通过将入站的连接和事务分配给代理,而控制连接到代理的多路复用。

分配器有两种方式可以得到代理:

从空闲代理池找到一个不活动的代理,然后将连接或事务请求传递给该代理进行服务。

如果池中没有空闲的代理,就创建一个新的代理,当然这样做的前提是不会超出数据库管理器配置中设置的 maxagents/max_coordagents 限制。注意:如果创建新的代理超出了这一限制,那么连接会排队等待下一个可用的代理来服务请求。

每个分配器最多可处理几百个连接。新的连接被分配给特定的分配器,并在连接的整个生命周期中都与这个分配器保持在一起。

代理

代理由分配器创建或者从服务于一个应用程序移动到服务于另一个应用程序。事务一提交或回滚,代理就变为空闲的,并可以服务于分配器分配的请求。

数据库代理是名为 "db2agent" 或 "db2agentg" 的进程:

db2agent 用于 DB2 UDB 数据库连接

db2agentg 用于到大型机的网关连接

当代理与一个事务相关联时,进程名会显示它相关联的数据库名。

例如,在自动提交完成后,在 commit 或 rollback 发出之前,发出一个 select 语句。进程 listing (ps -ef | grep instname ) 将显示 "db2agent (SAMPLE)",其中 SAMPLE 是该特定代理相关联的数据库名。

一旦提交或回滚,相同的进程将显示 "db2agent (idle)"。

连接集中器的行为

在 清单 1 中,一个应用程序状态 "decoupled" 意味着应用程序连接到数据库,但是这时没有任何事务在运行。

命令输入:

conniel@bugdbug:/home/conniel> db2 list applications show detail

清单 1. db2 list applications show detail 的输出

CONNECT Auth Id Application Name Appl. Application Id        Seq# Number of Coordinating DB Coordinator Status
--------------- ---------------- ----- --------------------------- ---- --------- ------------ -------------- -----------------
CONNIEL     db2bp       7   *LOCAL.conniel.094C58200237 0001 1     0       0        Decoupled

Uncommitted transaction:

conniel@bugdbug:/home/conniel> db2 +c "select * from t1"

COL1
-----------
0 record(s) selected.

命令输入:

conniel@bugdbug:/home/conniel> db2 list applications show detail

清单 2. db2 list applications show detail for uncommitted transaction 的输出

CONNECT Auth Id Application Name Appl. Application Id        Seq# Number of Coordinating DB Coordinator Status
--------------- ---------------- ----- --------------------------- ---- --------- ------------ -------------- -----------------
CONNIEL     db2bp       7   *LOCAL.conniel.094C58200237 0001 1     0       0        UOW Waiting

Upon Commit:

conniel@bugdbug:/home/conniel> db2 list applications show detail

清单 3. db2 list applications show detail for committed transaction 的输出

CONNECT Auth Id Application Name Appl. Application Id        Seq# Number of Coordinating DB Coordinator Status
--------------- ---------------- ----- --------------------------- ---- --------- ------------ -------------- -----------------
CONNIEL     db2bp       7   *LOCAL.conniel.094C58200237 0001 1     0       0        Decoupled

注意:要打印该页面,请使用 landscape 打印选项。

Tags:使用 DB Universal

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