我正在使用消息驱动通道适配器从weblogic JMS队列接收xml消息作为字符串,然后将此消息传递给spring集成通道以存储到数据库中,转换为不同的xml,然后发送将xml转换为另一个远程weblogic JMS队列。
我的疑问是,我设置了concurrent-consumers =“30” ,max-concurrent-consumers =“100”,idle-consumer-limit =“50” 这是对的吗?
我必须为并发消费者,max-concurrent-consumer,idle-consumer-limit设置正确的值才能在生产系统中获得最佳性能,我们将在每分钟获得超过10K的消息生产系统。
<int-jms:message-driven-channel-adapter
id="jmsInputQueueAdaptor_DX" channel="requestChannel" connection-factory="connectionFactory" destination="cbcmInputQueue_DX"
error-channel="errorChannel"
concurrent-consumers="30"
max-concurrent-consumers="100"
idle-consumer-limit="50"
receive-timeout="500"
send-timeout="500"
acknowledge="auto"
/>
答案 0 :(得分:2)
您的价值观似乎是一个良好的开端。
有很多因素可以达到最佳/最佳性能。就像XML转换的速度和硬件(核心数,CPU速度等)
一样你真的只需要测试并找到你的瓶颈所在。如果你没有充分利用CPU,那么就增加更多消费者。