ActiveMQ的连接池

时间:2019-10-15 17:49:26

标签: activemq connection-pooling

通常,在DBMS的连接池中,甚至可以建立数百个连接也是可以接受的,并且有时更可取。

在线查看示例,我总是看到连接池只有几个连接,并且有大量连接相关的会话。

这是因为与ActiveMQ的连接昂贵吗?

1 个答案:

答案 0 :(得分:2)

数据库连接和JMS连接通常都被认为是“昂贵的”,通常应该被合并。

在池化的用例中,池中的连接数实际上是由您的性能要求,硬件容量等定义的。通常通过基准测试和调整来精炼。在性能和资源利用率之间几乎总是需要权衡取舍,因此找到合适的平衡点是您的工作。甚至对于池的大小也很难提出一般性的建议,因为用例可能相差很大。

在非池化用例中,值得注意的是,单个JMS连接可以同时服务多个会话(尽管会话本身不能同时使用)。与JMS连接相比,创建JMS会话的成本要低得多。因此,在非池化的用例中,通常合理的做法是将JMS连接的数量减少到尽可能合理的程度,并利用多个会话。

除了为连接进行一些设置之外,所有实质性的JMS客户端工作都是通过会话完成的。 JDBC连接没有这种“会话”的想法。大多数工作直接在连接对象上完成。因此,我不确定此处的比较是否真的有效。