使用 DB2 Universal Database V8 中的连接集中器来增强性能
2008-09-17 16:31:32 来源:WEB开发网这个数字每天都会改变。在一个星期内每天都截取该快照,直到相应代理的最高数字趋于稳定。这是您的系统应该具有的最小代理数。您可以参照这个数字相应地设置 max_coordagents。
例如,如果您的初始 max_coordagents 是 2000,并且连接集中器是启用的时最高数字是 500,那么为了安全起见,我可以将 max_coordagents 设置为 800。
然后您可以逐渐增大 max_connections 以允许更多的用户使用该实例。同时,继续截取快照,看随着 max_connections 的增大,最高数字是如何增大的。
最后,您应该看到,对于初始的 max_coordagents 设置,您可以允许更多的用户连接到实例。
如果在启用了连接集中器时参数没有设置正确会怎么样呢?
如果有一个新的入站请求,但是所有的代理都被占用了,意味着它们都正处于还没有提交或回滚的事务当中,那么入站的事务将被挂起。这是因为没有可用的代理可以服务于您的请求,甚至没有一个代理可以用一个错误消息返回您的请求。
当您看到这样的情况时,比如在连接集中器打开后用户请求将被挂起,那么您的 max_coordagents 设置可能不够高。
您可以增大 max_coordagents 设置,或者降低 max_connections 设置。如果不管您的 max_coordagents 设置有多高,问题依然如故,那么应该看一下问题是不是涉及到用户应用程序中缺少提交。当应用程序不经常提交事务时,代理会被一直占用。最终,所有的代理都将被占用,导致出现挂起的情况。为了解决这个问题,惟一的解决方案是让您的应用程序在每个事务完成时进行提交。如果您不能纠正这个问题,那么您的环境就不适合于使用连接集中器。
已知的限制
不能在打开连接集中器的情况下启用联邦参数。如果您想要使用连接集中器,就必须在数据库管理配置中指定 Federated=NO。
DB2 UDB V7 客户机不能利用 DB2 UDB V8 连接集中器的优势,它只对 V8 客户机和本地 V8 服务器连接起作用。
更多精彩
赞助商链接