我一直对数据库不熟悉。对数据库的操作也就局限于写写语句查查改改数据罢了。昨日,实施人员问到DB2的一些参数设置,顿时傻眼,只好从官网上查询资料。主要关注下面几个参数的配置:
1.maxagents - 最大代理程序数配置参数,此参数指示可在任何给定时间接受应用程序请求的数据库管理器代理程序(无论是协调代理进程还是子代理进程)的最大数目。
2.max_connections - 最大客户机连接数配置参数,
此参数控制可以与实例相连的最大应用程序数。
3.max_coordagents - 最大协调代理进程数配置参数,此参数用来限制协调代理进程数或控制数据库中的工作负载。(也就是内存分配之类的)
4.maxappls - 最大活动应用程序数配置参数,此参数指定可与一个数据库连接(本地和远程)的并发应用程序的最大数目。因为每个与数据库连接的应用程序都导致分配一些专用内存,所以 允许大量并发应用程序可能将使用更多内存。
默认情况下, max_connections = max_coordagents = maxagents. 而按照官方的要求,maxagents >= 所有库的maxappls之和。因此我们先看看maxappls应该怎么配置:
我在官网上找到了以下公式:
maxappls = (number of connections set for the data source + number of connections in the session manager) multiplied by the number of clones.
数据源最大连接数可以在WAS上查到, 而session manager最大连接数也可以在 WAS控制台——应用程序服务器——(server x)——已安装的应用程序——(应用程序名称)——会话管理里面看到;
因而我们可以得到每个库的合理的maxappls.进而 maxagents就必须配置得比这些数字的总和还稍大一些。默认max_coordagents和maxagents可以配置的一样。
而max_connections和max_coordagents之间的数值大小会影响到一种机制的启用——“集中器”。当max_connections配置得比max_coordagents大的时候(默认相等),“集中器”被自动启用。个人理解,集中器的作用就是将每个应用程序所使用的服务器资源减少,直到DB2 Connect网关可以处理超过 10000 个客户机连接。这时候,就可能有比协调代理进程(coordagents)更多的客户机应用连接,DB2就会产生一个类似于队列的机制,超额的应用连接请求将被置为不活动状态,当有空闲的协调代理进程出现的时候,才转入活动状态。
上面是个人通过资料对这几个参数的关系和配置的理解,如果有错误的话请批评指正。