当前位置: 首页 > 知识库问答 >
问题:

使用ActiveMQ调度程序降低性能的问题

孙正业
2023-03-14
    null
  • 我们在所有队列(Q和S)中都有挂起的消息,而我们希望它们只在队列S中挂起
  • 当在S中调度的消息唤醒时,它们将移动到T队列:这些消息将根据节流配置(1K消息/秒)进行处理
  • 仍在Q和S中挂起的消息移动到T的速度非常慢(大约50条消息/秒)
  • 如果我们在处理完所有宝贵的消息(再次使用生产者P)后尝试第二轮消息(没有时间窗口),我们仍然以50个消息/秒的速度发送消息,即使在这种情况下,我们根本没有使用调度区域

问题摘要

  • ActiveMQ版本:5.9.0(配置了3GB的最大内存限制)
  • 骆驼版本:2.15.1
  • Spring版本:4.1.3.发布
  • 1条消息的平均维度:4.5kib
  • 关键路由:
    • q->S(计划区域)->T
    • q->T(使用计划区域后)
      null

    厄洛斯

共有1个答案

籍星汉
2023-03-14

版本5.4中的ActiveMQ在ActiveMQ消息代理ActiveMQ.apache.org/delay-and-schedule-message-delivery.html中内置了一个可选的持久调度器

因此,要提高性能,请尝试将下面的代码添加到ActiveMQConnectionFactory上的BrokerURL

例如:

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616?jms.copyMessageOnSend=false&jms.dispatchAsync=true&jms.useAsyncSend=true");

看一看

http://activemq.apache.org/connection-configuration-uri.html http://activemq.apache.org/performance-tuning.html

 类似资料:
  • 我正在测试我在activeMQ上工作的代码, 我在里面使用。当我发送大约1000个并发请求来将我的消息排队时,将所有消息排队需要很长时间,有时它只是挂在中间,过了一段时间又开始返回。 我正在使用JDBC消息存储,我知道这可能会影响性能。 这对性能的影响主要是由于虚拟主题吗?,因为在activemq网站上,他们指定了非常高的主题性能(当然是在理想条件下) P、 S:1消息排队和出列大约需要13-15

  • 问题内容: 我已经用Python编写了一个工作程序,该程序基本上可以解析一批二进制文件,然后将数据提取到数据结构中。每个文件大约需要一秒钟的时间来解析,这意味着数千个文件要花费数小时。我已经成功实现了线程解析的线程版本的批处理解析方法。我在100个具有不同线程数的文件上测试了该方法,并对每次运行进行了计时。结果如下(0个线程是指我的原始,预线程化代码,1个线程是指生成一个线程的新版本)。 尽管生成

  • 帮助我减少这个程序的时间复杂性 输出:为每个测试用例输出这样的对的数量。 约束条件:T≤10;N≤100000;A[i]≤1000000 示例输入(明文链接)

  • 在代理切换到分页模式后,我看到性能出现了奇怪的下降。一些消息开始花很长时间: 1800 我还看到了大量磁盘使用情况: 我的: Linux Astra、4 CPU 24GB ram 50GB SSD、ActiveMQ Artemis 2.7.0 只有代理重启有帮助

  • 我正在运行一个neo4j实例中的数据大容量导入(我在2.2.0社区版和企业版以及2.1.7社区版上运行过),该实例在服务器模式下运行。我的应用程序在内存中创建了一组节点,并会在中间停止编写一个series.csv文件,并向neo4j实例发送cypher以上传这些文件。(这是由于使用普通的旧REST API运行应用程序时的性能问题造成的)。 语句,并且我对所有进行合并的对象都有索引。这感觉不像是in

  • 我正在使用一个嵌入式数据源(ApacheCommonsDBCP1.3),JDBC3DB2JCC,进行Spring批处理。用于BD2数据库和JDK1的jar。5.我知道DBCP2。x已经发布,但由于现有系统(JDK1.5),我现在无法升级。 数据库配置: 我注意到,如果将validationQuery属性与testOnBorrow、testOnReturn和testWhileIdle一起使用,则完成