首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >max连接问题

max连接问题
EN

Stack Overflow用户
提问于 2014-07-09 11:56:37
回答 1查看 15.5K关注 0票数 4

我有一个Java客户端,它用10个连接连接到MQ。它们在Java客户端运行期间保持开放状态。对于每个线程,我们创建一个消息,创建一个会话,发送消息并关闭会话。我们使用的是sessionCacheSize,sessionCacheSize为100。我们的MQ工程团队告诉我们,我们的队列管理器的最大连接是500个,而且我们的连接超过了这个值。QM.ini文件有:

代码语言:javascript
运行
复制
maxChannels=500
maxActiveChannels=256
maxHandles=256

我在MQ资源管理器中观察到的是,队列上的开放输出计数保持在10,但是,如果我们跨2个队列加载平衡,则每个队列的负载平衡是10,尽管我们仍然只有10个连接。因此,我想知道的是,在MQ术语中,jms连接和会话等同于什么?

我确实认为连接等同于活动通道,会话是句柄,所以当我们打开(和关闭)会话的数量达到数百或数千次时,句柄可能会超过句柄,而我们只有10个连接。尽管与此相反,下面来自IBM的Technote "JMS连接工厂连接池和会话池设置的解释“的代码片段表明,最大通道应该大于最大会话,但是我们永远不知道这取决于负载(除非这应该大于sessionCacheSize?)。

每个会话表示到队列管理器的TCP/IP连接。使用这里提到的设置,最多可以有100个TCP/IP连接。如果您正在使用WebSphere MQ,那么重要的是将位于qm.ini文件中的队列管理器的MaxChannels设置调优到一个大于连接到队列管理器的每个JMS工厂的最大会话数之和的值。

任何关于如何最好地配置MQ的帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-09 12:21:28

假设您在MQ通道上的最大会话数设置为1 (MQ v7和v7.5中的默认值为10 ),则JMS连接将导致TCP连接(MQ通道实例),而JMS会话将导致另一个TCP连接( MQ通道实例)。

从您的更新中可以看出,您已经配置了10个JMS连接,Spring中的sessionCacheSize设置为100,所以10x100意味着创建了1000个潜在的MQ通道实例。开放输出计数将显示有多少“活动”JMS会话试图发送消息,而不一定有多少已被“缓存”。

MQ通道上的会话共享可能在这里帮助您,因为这定义了在一个TCP连接(MQ通道实例)上可以共享多少逻辑连接。因此,默认的10个会话意味着您可以创建10个JMS会话,这些会话仅在一个TCP连接上运行。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24653053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档