Spring integration MQ侦听器性能

Spring integration MQ侦听器性能,spring-integration,ibm-mq,Spring Integration,Ibm Mq,我正在构建Docker容器,其中有一个war文件在Jetty上运行,我一直在交替进行一些设置,以查看性能是否有所提高,但到目前为止没有任何改进。每个集装箱已达到7 tps 设置是 <bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="targetConnectionFactory" r

我正在构建Docker容器,其中有一个war文件在Jetty上运行,我一直在交替进行一些设置,以查看性能是否有所提高,但到目前为止没有任何改进。每个集装箱已达到7 tps

设置是

<bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory" ref="MQConnectionFactory" />
    <property name="sessionCacheSize" value="10"/>
</bean>


<bean id="requestQueue" class="com.ibm.mq.jms.MQQueue">
    <constructor-arg index="0" value="${queuemanager}"/>
    <constructor-arg index="1" value="${incoming.queue}"/>
</bean>


<integration:poller id="poller" default="true" fixed-delay="1000" error-channel="errorChannel"/>
并发的初始设置为“1-2”,我将其更改为“10-15”。不影响性能

jmsCache设置为,但也没有变化

非常感谢您的帮助

干杯
克里斯在这里回答我自己的帖子。我们发现,问题实际上是我们的数据库池一开始设置不正确

但是为了增加侦听器数量,我不得不更改Spring集成适配器设置

<jms:message-driven-channel-adapter id="jmsIn"
        destination="requestQueue"
        channel="inputJsonConversionChannel" 
        connection-factory="cachingConnectionFactory" 
        error-channel="errorChannel"
        concurrent-consumers="${jms_adapter_concurrent_consumers}" />


只有当并发使用者发生变化时,队列中的侦听器数量才会增加。

您能告诉我们一些关于您的系统的其他情况吗?你有多少推杆?发送消息的速率是多少?您有多少个并发getter?他们是否需要处理并发消息,或者一个getter能否跟上putter?每个事务还需要做什么才能有助于了解系统性能的全貌?此时,NFT团队使用LoadRunner以100 tps模拟推杆。我有两个集装箱运行实例,这意味着我们实现了15个tps。我认为,通过在DefaultJmsListenerContainerFactory中将并发性设置为“10-15”,实际上可以允许这么多线程并行处理。应用程序的另一部分将json消息从一种格式转换为另一种格式,并将HTTP请求发送到在DB中进行插入的Api。这也是我对setConcurrency的理解。您看到有多少getter在您的队列中运行?尝试MQSC命令
显示QSTATUS(q-name)IPPROCS
我将很快提供一些更新。看起来问题实际上与数据库连接池有关。DB中有数千个会话,我们希望有几个会话。
<jms:message-driven-channel-adapter id="jmsIn"
        destination="requestQueue"
        channel="inputJsonConversionChannel" 
        connection-factory="cachingConnectionFactory" 
        error-channel="errorChannel"
        concurrent-consumers="${jms_adapter_concurrent_consumers}" />