Java多线程性能改进

时间:2014-03-22 13:33:55

标签: java multithreading file mq

我的应用程序需要大约200毫秒才能使用单个线程完成任务。我们有一个连接到MQ的侦听器,它将接收消息并处理它。

当我将MDB线程的数量增加到5时,队列中处理5消息所需的处理时间应该是大约200毫秒,但是大约需要600毫秒。这可能是问题或任何改进的建议它

我们在进程之间有文件I / O,DB插入更新操作。

2 个答案:

答案 0 :(得分:1)

如果您的任务仅受CPU限制,则可能接近线性扩展至系统中的CPU(核心)数量。但是,正如您所说,您正在使用共享资源,这可能是您遇到问题的原因。尝试分析您的应用程序,看看那里发生了什么。

答案 1 :(得分:0)

您是否正在与队列管理器共享MQ连接,或者每个线程是否都有自己与队列管理器的连接?