服务器连接通道限制
您可以设置服务器连接通道限制,以防止客户机应用程序使用 MAXINST 参数耗尽队列管理器通道资源,并防止单个客户机应用程序使用 MAXINSTC 参数耗尽服务器连接通道容量。
使用 DEFINE CHANNEL 命令设置 MAXINST 和 MAXINSTC 。
单个队列管理器上可随时处于活动状态的最大通道总数。 服务器连接通道实例总数包含在最大活动通道数中。
如果未指定可启动的服务器连接通道的最大并发实例数,那么单个客户机应用程序 (连接到单个服务器连接通道) 可能会耗尽可用的最大活动通道数。 达到最大活动通道数时,将阻止在队列管理器上启动任何其他通道。 要避免此情况,必须限制可启动的单个服务器连接通道的并发实例数,而不考虑是哪个客户机启动了这些实例。
如果限制的值降低到低于当前正在运行的服务器连接通道实例数 (甚至为零) ,那么不会影响正在运行的通道。 只有在足够多的现有实例停止运行,以使当前正在运行的实例数小于限制值之后,才能启动新实例。
此外,许多不同的客户机连接通道可以连接到单个服务器连接通道。 对可启动的单个服务器连接通道的同时实例数的限制 (无论哪个客户机启动了这些实例) 可防止任何客户机耗尽队列管理器的最大活动通道容量。 如果您也不限制可从单个客户机启动的单个服务器连接通道的同时实例数,那么单个发生故障的客户机应用程序可能会打开如此多的连接,从而耗尽分配给单个服务器连接通道的通道容量,从而阻止需要使用该通道的其他客户机连接到该通道。 要避免此情况,必须限制可从单个客户机启动的单个服务器连接通道的并发实例数。
如果将个别客户机限制的值减小到低于当前从个别客户机运行的服务器连接通道的实例数 (即使是零) ,那么正在运行的通道不受影响。 但是,无法从超出新限制的单个客户机启动服务器连接通道的新实例,直到该客户机的足够现有实例停止运行,以使当前正在运行的实例数小于此参数的值。
性能注意事项
如果服务器连接通道的实例数大于 MAXINSTC 值,但小于 MAXINST 值,则队列管理器在接受新客户连接时必须执行额外处理。 如果队列管理器的活动通道总数较多,则在与 MAXINSTC 小于 MAXINST 的通道建立新客户端连接时,可能会出现额外的计算开销和延迟。
不建议并发通道实例超过 1000 个的队列管理器使用 MAXINSTC ,特别是在大量应用程序并发创建短时连接的情况下,因为这种模式会增加对验证 MAXINSTC 数量所需的序列化资源的竞争。
通过提高 SHARECNV 值来鼓励共享,从而避免在此类服务器连接通道上出现高连接率。 此外,还可以考虑将客户机分割到多个服务器连接通道定义中,只配置 MAXINST 来限制通道实例的数量。