Chinaunix

标题: 有关db2 agent [打印本页]

作者: cathie    时间: 2006-10-05 23:44
标题: 有关db2 agent
使用ps -ef|grep db2可以查看到不少有关DB2_AGENT的信息,请问下是否是每新增一个应用,db2都会开启一个agent为其服务?假设执行多个SQL语句,是一个语句一个agent还是一个查询终端一个agent?

[ 本帖最后由 cathie 于 2006-10-5 23:45 编辑 ]
作者: lizhuo    时间: 2006-10-08 11:51
一个connect,一个agent
作者: nuoran    时间: 2006-10-10 16:58
应该说一个connect不一定对应几个agent的

[ 本帖最后由 nuoran 于 2006-10-10 17:01 编辑 ]
作者: smithy    时间: 2006-10-10 17:29
agent和connect是一对多 或 一对一 的关系
楼上的有的概念模糊
作者: beginner-bj    时间: 2006-10-10 21:54
原帖由 nuoran 于 2006-10-10 16:58 发表
应该说一个connect不一定对应几个agent的


应该说一个agent不一定对应几个connect吧?
作者: lizhuo    时间: 2006-10-11 10:00
如果启用连接集中器的话,那么多个连接对应一个agent
作者: asdjewfdioe    时间: 2006-10-11 10:03
确实是新手

一个client 的connect是一个agent
所谓代理嘛
就是经纪人的意思
作者: cathie    时间: 2006-10-13 23:03
也就是说一个connect 一个agent ?
可以这么理解吗?如果terminate后 相应的agent就会释放,否则相关的agent是一直有?
作者: zzjijun    时间: 2006-10-16 16:19
6楼说的是正确的。

偶的理解:
大多数情况是一个时刻一个agent服务一个connect提出的请求。connect close后db2agent进程就没了。
开启了分区内并行性时,会有子代理程序(subagent),可以认为多个agent服务一个connect。
启用连接集中器的话,那么多个连接对应一个agent。这时会有一个代理进程池,池里始终有固定数量的代理进程。

关于代理进程的数据库服务器参数有
最大现有代理程序数                          (MAXAGENTS) = 400
代理程序池大小                         (NUM_POOLAGENTS) = 200(已计算)
池中的初始代理程序数                   (NUM_INITAGENTS) = 0
最大协调代理程序数                    (MAX_COORDAGENTS) = (MAXAGENTS - NUM_INIT
AGENTS)
最大并发协调代理程序数                     (MAXCAGENTS) = MAX_COORDAGENTS
最大客户机连接数                      (MAX_CONNECTIONS) = MAX_COORDAGENTS

可以参考developerWorks上的文章<DB2 通用数据库进程全接触>。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2