使用 DB2 Universal Database V8 中的连接集中器来增强性能
2008-09-17 16:31:32 来源:WEB开发网核心提示: 图 1. 连接集中器体系架构分配器 分配器(dispatcher)是一个 DB2 进程 (db2disp),即连接集中器的关键组件,使用 DB2 Universal Database V8 中的连接集中器来增强性能(2),它通过将入站的连接和事务分配给代理,而控制连接到代理的多路复用,其中
图 1. 连接集中器体系架构
分配器
分配器(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)"。
更多精彩
赞助商链接