【发布时间】:2012-09-11 14:03:30
【问题描述】:
我有一个关于 MQ 进程的问题 amqrmppa。我知道它用于通道客户端连接,每个进程最多可以运行 64 个线程。当更多的连接进来时,此类进程的数量会增加。但是当客户端断开连接并且连接消失时,amqrmppa 的数量会减少吗?
谢谢
【问题讨论】:
我有一个关于 MQ 进程的问题 amqrmppa。我知道它用于通道客户端连接,每个进程最多可以运行 64 个线程。当更多的连接进来时,此类进程的数量会增加。但是当客户端断开连接并且连接消失时,amqrmppa 的数量会减少吗?
谢谢
【问题讨论】:
是的,假设通道定义指定线程而不是进程,进程的数量确实会减少,但不会立即减少。因为启动和关闭进程需要时间和资源,WMQ 将在通道关闭后让通道池进程运行一段时间以重用它们。这优化了性能,但更难预测何时会获得通道池过程。此外,对于任何给定的进程,它的一个或多个线程可能托管一个活动通道,即使其他线程已经关闭。您可能有多个进程正在运行,每个进程托管一个或两个通道,WMQ 不会将打开的连接合并到一个进程中,只是为了减少进程数。 (这将需要重新协商通道、SSL 会话等。)所以线程使用比进程使用更动态一些。
最后,请注意,此行为未记录在案,因此可能会因版本而异,甚至会因修订包而异。例如,引入对话共享后,渠道代理的行为发生了显着变化。此回复基于我的经验,您的里程可能会有所不同。
【讨论】:
是的,除了一个进程之外的所有进程都会消失。最后一个 amqrmppa 进程被保留以最小化重新建立 amqrmppa 进程的成本。
【讨论】: