DB2的代理和连接集中器

本文为您介绍了DB2 Universal Database代理的概念以及工作原理,连接集中器的概念及特性,并对DB2 连接上常见的问题及代理的优化作了详细的分析。供您参考,希望对您有所帮助。

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

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

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

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

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

相关的配置参数

通过执行 DB2 get dbm cfg 可以看到以下几个和代理相关的实例参数:MAXAGENTS,NUM_POOLAGENTS,NUM_INITAGENTS,MAX_COORDAGENTS,MAX_CONNECTIONS,MAXCAGENTS。下面对它们做一下简要介绍:

◆MAXAGENTS:这个参数为当前实例中全部代理的数量,包括协调代理,空闲代理和子代理之和。不过这个参数在 DB2 V95 中已经不再使用了。 #p#

◆NUM_POOLAGENTS:这个参数用来控制代理池中的空闲代理的数量。当活动的代理完成工作返回代理池变成空闲代理时,如果数量超过了这个参数,那么这个代理就会自动消失了。注意:在连接集中器激活的情况下,代理池中的空闲代理数目在某一时刻可能会超过 NUM_POOLAGENTS 的大小,以应对突发的高密度连接。

◆NUM_INITAGENTS:这个参数就是前面提到的在实例刚刚启动时便生成的一些空闲代理的数目。这是为了提高性能,因为这些代理可以随时变成协调代理去应答外部应用请求,而不用临时再生成新的代理。

◆MAX_COORDAGENTS:这个参数决定了在实例中在同一时刻***的协调代理的数目 ( 在多分区环境指的是一个节点上的***协调代理数 )。

◆MAX_CONNECTIONS:这个参数决定了允许连接至一个实例的***的连接数 ( 在多分区环境指的是一个节点上的***连接数 )。

◆MAXCAGENT:这个参数决定了实例中的令牌的数量,一个协调代理只有得到了令牌才能去服务于应用程序。当没有得到令牌时,协调代理只能等候。不过这个参数在 DB2 V95 中也已经取消了。

还有一个连接参数 MAXAPPLS 可以通过 db2 get db cfg for database_name 得到,它是一个数据库级别的参数,这个参数决定了同时连接至一个数据库的***连接数。在一个实例下的所有数据库的 MAXAPPLS 值之和不能超过实例参数 MAX_CONNECTIONS。 #p#

连接集中器

基本原理

从 DB2 V8 开始,DB2 实例中有一个叫做连接集中器的特性,可以用来优化数据库的连接。缺省情况下,在实例创建的时候,MAX_CONNECTIONS 与 MAX_COORDAGENTS 的值是一致的。这个时候每一个协调代理唯一地服务于一个连接。比如说有 1000 个连接就要有 1000 个协调代理为之服务。这对服务器是一个很大的负担,因为每一个代理都要消耗一定的资源。而当我们将 MAX_CONNECTIONS 的值设定的比 MAX_COORDAGENTS 大,这时 DB2 的连接集中器就被激活了。它允许多个连接对应于一个代理。

连接集中器的功能与 DB2 CONNECT 中的连接池相似。不过连接集中器比连接池的优点在于它能够重用外部连接,即多个排队的应用程序可以重复使用一个存在的连接,而连接池则需要先删除再重建一个连接去服务于一个新的应用程序。在连接集中器中每个协调代理并不唯一地服务于一个连接,当某个外部连接断开后,协调代理被分配给其他连接。这样。同时允许更多的连接连到数据库,并且减少了每个连接的内存消耗,避免了频繁的删除和创建代理所带来的系统开销。下面是连接集中器的具体工作原理:

首先将 MAX_CONNECTIONS 的值设定的大于 MAX_COORDAGENTS 去激活连接集中器。在连接集中器中代理被分成逻辑代理和工作代理。逻辑代理与外部应用程序对应,它并不对应与某个特定的引擎分配单元 (EDU)。工作代理和前面定义的一样,是具体的引擎分配单元。当逻辑代理多于工作代理时连接集中器就被激活了。当有多个连接同时连接到服务器时,连接被一一分配给各个逻辑代理。逻辑代理再去请求工作代理的服务。
 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/246185.html<

(0)
管理的头像管理
上一篇2025-04-26 13:02
下一篇 2025-04-26 13:03

相关推荐

  • 跨境电商选服务器如何避免踩坑,需要注意什么?

    选择跨境电商服务器,核心在于平衡用户地域、网络延迟与服务商资质,优先选择持证合规、拥有自营机房的IDC服务商,避免因机房不合规或线路劣质导致业务中断,服务器地理位置:用户在哪,服务器就放哪目标市场决定节点跨境电商面向特定区域,服务器离目标用户越近,延迟越低,面向北美选美西节点,东南亚选新加坡或香港,欧洲选法兰克……

    2026-07-26
    0
  • 站群服务器配置虚标怎么识别,哪些配置最容易虚标?

    识别站群服务器配置虚标,不能只看商家宣传的参数,需要结合硬件检测工具、网络实测和行业经验进行综合判断,一句话总结:实测是照妖镜,资质是试金石,常见虚标手段与行业真相站群服务器运维中,配置虚标是相当普遍的问题,尤其在低价套餐中较为常见,商家通过技术手段隐藏真实参数,或直接修改系统反馈信息,让你看到的永远是“完美……

    2026-07-26
    0
  • 自建服务器和租用到底哪个更坑,哪个更划算?

    自建服务器和租用服务器,哪个更坑?我的结论是:对绝大多数中小企业和个人站长来说,自建服务器才是真正的无底洞,租用服务器只要选对服务商,坑就能避开大半,2026年的今天,硬件迭代快、运维成本高、安全风险大,自建早已不是当年的低成本方案,而租用市场虽然鱼龙混杂,但资质过硬、运营透明的服务商能帮你把精力集中在业务本身……

    2026-07-26
    0
  • 高防服务器按流量收费的坑有哪些?,怎么避坑?

    高防服务器按流量收费最大的坑,是攻击流量直接转化为账单,选择不当会让你为打进来的DDoS攻击买单,费用远超预期,流量收费的三大陷阱按流量计费看似灵活,但针对高防场景,这个模式隐藏着不少专业用户才懂的坑,不少服务商利用用户对流量计费的认知盲区,把防御成本转嫁给你,攻击流量计入账单,防御变“付费演出”多数按流量收费……

    2026-07-26
    0
  • 新手做站群选服务器有哪些常见误区,怎么避免?

    新手做站群选服务器,最普遍的误区是把价格放在第一位,忽略IP纯净度、带宽质量和机房资质,这些才是决定站群长期稳定性的核心因素,我见过不少从零起步的站长,手里握着十几个站点,第一反应就是上网找“最便宜”的服务器,结果跑了两周,网站被关联封禁,IP被墙,甚至整个机器被拉黑,选服务器不是买白菜,站群对底层资源的要求比……

    2026-07-25
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注