Java ActiveMQ-数据库访问速度慢,导致ActiveMQ响应不够快
我有一个wso2 ESB与activeMQ(持久消息传递)通信。有时候,ESB上的线程会堆积起来,因为所有线程都在等待activeMQ响应对其进行的各种调用。最终,调用错误被清除 同时,在ActiveMQ日志中,我看到了很多“慢速Kaha DB访问”日志。一些例子:Java ActiveMQ-数据库访问速度慢,导致ActiveMQ响应不够快,java,wso2,activemq,wso2esb,Java,Wso2,Activemq,Wso2esb,我有一个wso2 ESB与activeMQ(持久消息传递)通信。有时候,ESB上的线程会堆积起来,因为所有线程都在等待activeMQ响应对其进行的各种调用。最终,调用错误被清除 同时,在ActiveMQ日志中,我看到了很多“慢速Kaha DB访问”日志。一些例子: 访问速度慢:清理耗时5138 访问速度慢:日志追加时间:1635毫秒,索引更新时间 2330毫秒 这在我们的系统中是一个大问题,因为一旦AMQ停止足够快的响应,我们就会锁定线程。似乎由于IO/访问时间太长,activeMQ停止响应我
谢谢,除非您确实需要持久性,否则您可以尝试发送非持久性消息并将代理更改为非持久性。请参阅ActiveMQ,了解执行此操作的具体步骤。在这种情况下,代理不会将任何消息写到磁盘上,而只将它们保存在内存中。但是,如果代理崩溃,则意味着这些消息将丢失
否则,我建议您要么直接通过更换硬件来解决IO性能问题,要么切换到a以更均匀地分配负载 谢谢,我将尝试一下,并让您知道它是如何运行的。我将为两个最多的队列尝试非持久性,并让您知道它是如何运行的。这个问题只发生在生产环境中,所以我猜它可能与硬件有关,但由于硬件由两个不同的外部团队管理,因此这可能太麻烦了。结果证明,它与硬件有关。谢谢