我的应用程序使用单线程完成一个任务需要大约200毫秒。我们将侦听器附加到MQ,它将拾取消息并处理它。
当我将MDB线程的数量增加到5时,处理队列中处理5条消息的处理时间应该在200毫秒左右,但它需要大约600毫秒。这可能是问题或任何改进它的建议。
我们有文件I/O,数据库插入更新操作在进程之间。
如果您的任务仅受CPU限制,则它可能接近线性扩展到系统中的CPU(内核)数量。然而,正如你所说,你正在使用共享资源,这可能是你的问题的原因。尝试分析您的应用程序,看看实际发生了什么。
是否共享到队列管理器的MQ连接,还是每个线程都有自己到队列管理器的连接?