对于到其每个客户端的套接字连接,每个企业管理器(独立、收集器、MOM 和 CDV)都有一个传出消息队列。 企业管理器使用传出消息队列来缓冲发送到其客户端的数据。 客户端包括 Workstation、命令行 Workstation 实例、WebView 以及 MOM 或 CDV(当企业管理器是收集器时)。
在少数情况下,调整这些消息队列可以提高客户端连接可伸缩性。 CA Technologies 建议在调整消息队列之前咨询 CA Support以提高客户端连接可伸缩性。
IntroscopeEnterpriseManager.properties 文件中的 transport.outgoingMessageQueueSize 属性限制出站消息队列的大小。 此属性值是消息数,而不是消息内容的大小。 增加 transport.outgoingMessageQueueSize 值也会增加企业管理器需要的堆内存。
某个固定数量的传出交付线程为所有传出消息队列提供服务。 IntroscopeEnterpriseManager 属性文件中的 transport.override.isengard.high.concurrency.pool.max.size 属性确定可用传出交付线程的数量。
如果交付线程数少于活动客户端连接数,则传出消息必须在传出消息队列中等待,因此队列可能会达到其容量。 如果传出消息队列中没有可用空间,则企业管理器无法将请求的数据发送回客户端。 客户端可能看起来已挂起。 通过增加队列大小和线程池大小,可以提供更多容量,并且能够解决此问题。
在大量客户端各自都请求大量数据的环境中,可能会出现此问题。 仅在经常出现这种情况的环境中尝试增大消息队列。
这些症状表示存在传出消息队列问题:
[ERROR] [Manager] Outgoing message queue limit of 3000 reached. Connection is responding slowly: Node=Workstation_0, Address=test/x.x.x.x:2298, Type=socket Raw Data Stash
*超级域*|自定义度量标准主机 (虚拟)|自定义度量标准进程 (虚拟)|自定义度量标准代理 (虚拟)(*超级域*)|企业管理器|内部|消息:活动传出线程
在经常出现传出消息队列症状的群集中的所有收集器和 MOM 上调整传出消息队列属性。
请执行以下步骤:
transport.outgoingMessageQueueSize=6000
transport.override.isengard.high.concurrency.pool.max.size=10
|
版权所有 © 2013 CA。
保留所有权利。
|
|