Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ActiveMQ-数据库访问速度慢,导致ActiveMQ响应不够快_Java_Wso2_Activemq_Wso2esb - Fatal编程技术网

Java ActiveMQ-数据库访问速度慢,导致ActiveMQ响应不够快

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停止响应我

我有一个wso2 ESB与activeMQ(持久消息传递)通信。有时候,ESB上的线程会堆积起来,因为所有线程都在等待activeMQ响应对其进行的各种调用。最终,调用错误被清除

同时,在ActiveMQ日志中,我看到了很多“慢速Kaha DB访问”日志。一些例子:

  • 访问速度慢:清理耗时5138
  • 访问速度慢:日志追加时间:1635毫秒,索引更新时间 2330毫秒
  • 这在我们的系统中是一个大问题,因为一旦AMQ停止足够快的响应,我们就会锁定线程。似乎由于IO/访问时间太长,activeMQ停止响应我们的ESB。由于我们继续尝试在ActiveMQ(预期功能)上排队消息,我们打开了越来越多的连接,使用越来越多的线程,直到线程达到最大值

    几分钟后,我们的线程被释放,activeMQ再次响应,但到那时,对于我们的系统来说为时已晚,因为ESB由于备份流量和activeMQ冻结而失去控制

    有人面临同样的问题吗?任何人都可以提供关于如何解决这一问题的任何信息,我们将不胜感激


    谢谢,除非您确实需要持久性,否则您可以尝试发送非持久性消息并将代理更改为非持久性。请参阅ActiveMQ,了解执行此操作的具体步骤。在这种情况下,代理不会将任何消息写到磁盘上,而只将它们保存在内存中。但是,如果代理崩溃,则意味着这些消息将丢失


    否则,我建议您要么直接通过更换硬件来解决IO性能问题,要么切换到a以更均匀地分配负载

    谢谢,我将尝试一下,并让您知道它是如何运行的。我将为两个最多的队列尝试非持久性,并让您知道它是如何运行的。这个问题只发生在生产环境中,所以我猜它可能与硬件有关,但由于硬件由两个不同的外部团队管理,因此这可能太麻烦了。结果证明,它与硬件有关。谢谢