IBM DB2连接集中器的基本操作原理

数据库
我们今天主要描述IBM DB2连接集中器的基本操作原理,愿在你学习IBM DB2连接集中器的基本操作原理中以起到抛砖引玉的作用

以下的文章主要描述的是IBM DB2连接集中器的基本操作原理,如果你对IBM DB2连接集中器的基本操作原理心存好奇的话,以下的文章将会揭开它的神秘面纱,以下就是文章的详细内容介绍,望大家借鉴。

1. 基本原理

从 DB2 V8 开始,DB2 实例中有一个叫做IBM DB2连接集中器的特性,可以用来优化数据库的连接。缺省情况下,在实例创建的时候,MAX_CONNECTIONS 与 MAX_COORDAGENTS 的值是一致的。这个时候每一个协调代理唯一地服务于一个连接。

比如说有 1000 个连接就要有 1000 个协调代理为之服务。这对服务器是一个很大的负担,因为每一个代理都要消耗一定的资源。而当我们将 MAX_CONNECTIONS 的值设定的比 MAX_COORDAGENTS 大,这时 DB2 的连接集中器就被激活了。它允许多个连接对应于一个代理。

连接集中器的功能与 DB2 CONNECT 中的连接池相似。不过IBM DB2连接集中器比连接池的优点在于它能够重用外部连接,即多个排队的应用程序可以重复使用一个存在的连接,而连接池则需要先删除再重建一个连接去服务于一个新的应用程序。

在连接集中器中每个协调代理并不唯一地服务于一个连接,当某个外部连接断开后,协调代理被分配给其他连接。这样。同时允许更多的连接连到数据库,并且减少了每个连接的内存消耗,避免了频繁的删除和创建代理所带来的系统开销。下面是连接集中器的具体工作原理:

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

比方说,代理池是一个饭店,在饭店里通常都是顾客多于服务员。刚开始,还没有顾客 ( 相当于外部应用 ) 的时候。有一些值班的服务员在饭店里待命(相当于实例启动时在代理池中创建的空闲代理 NUM_INITAGENTS)。一旦来了应用请求(顾客),调度程序(相当于领班)就去安排服务员开始工作,服务员就开始忙起来去招呼顾客。这时服务员的角色相当于协调代理。

她们接待完顾客后便将菜单传达给厨师和小工 ( 相当于子代理 )。而当顾客越来越多,超过了最初的值班服务员数量。服务器就生成新的代理来服务于这些应用,就好像是从员工宿舍叫来更多的服务员来工作。当在场服务员数达到了一个数目 (MAX_COORDAGENTS),饭店的所有服务员都在工作了,没有其他的在编服务员了。

这时新来的顾客 ( 外部应用 ) 只能坐在座位上等候了。MAX_CONNECTIONS 在这里相当于饭店里的总的就餐座位数,当顾客数目 ( 外部应用 ) 达到了这个数值,后来的顾客只能离去了(相当于连不上数据库)。

这里需要注意的是 MAX_CONNECTIONS 并不是指同时连在实例上的活动的连接,因为有些连接即使连在实例上了,也要等候协调代理服务,当前活动的连接数与活动的协调代理数相等。当一个协调代理处理完一个应用程序后,它会被分配给其它等候的应用,相当于服务员去服务于其他等待着的顾客。

在饭店中还有一些座位是专门为服务员休息准备的 ( 这个座位数相当于 NUM_POOLAGENTS)。当顾客渐渐散去,越来越少的时候,部分服务员 ( 协调代理 ) 已经无事可做,就返回这些座位(变成空闲代理)。当这些座位也被占满了,那么再有服务员 ( 协调代理 ) 返回休息时,就没有可供休息的座位了 ( 假设服务员不能坐就餐座位 )。

这些服务员就只有返回员工宿舍了 ( 相当于代理的删除 )

以上的相关内容就是对IBM DB2连接集中器的介绍,望你能有所收获。

 

【编辑推荐】

  1. DB2快照函数如何正确理解?
  2. 使用重定向恢复DB2数据库的操作技巧是什么?
  3. 使用DB2临时表时哪些事项是值得关注?
  4. DB2提高IMPORT命令性能的2种操作方案
  5. 提高DB2数据库的 IMPORT命令性能的方式有哪些?

     

     
责任编辑:佚名 来源: IT世界
相关推荐

2010-08-31 13:42:56

DB2连接代理

2010-11-02 16:51:33

DB2连接服务器

2010-08-16 17:36:48

DB2连接服务器

2010-09-07 10:55:39

DB2连接服务器

2010-08-19 09:37:41

DB2 V9.7 语句

2010-09-01 10:59:42

DB2服务器

2010-08-02 09:27:22

DB2连接服务器

2010-08-11 14:10:40

DB2连接服务器

2010-08-05 08:54:03

DB2连接服务器

2009-05-19 09:10:26

代理工作代理DB2

2010-07-30 11:34:09

DB2连接服务器

2010-08-31 11:35:38

DB2连接SQL SERVER

2010-07-29 09:06:32

DB2连接服务器

2010-08-18 16:04:49

DB2连接端口

2010-07-29 08:56:53

DB2基本操作指令

2010-08-04 17:29:00

DB2连接服务器

2010-11-04 10:25:31

DB2表连接

2010-07-27 09:09:07

JDBC连接DB2

2010-08-05 14:03:46

连接ibm DB2

2010-07-30 13:16:21

IBM DB2事件监视
点赞
收藏

51CTO技术栈公众号