使用Spring RabbitMQ的性能很慢

时间:2017-02-22 09:17:42

标签: rabbitmq spring-amqp

我试图在30秒的间隙内将13个线程的51MB数据发送到另一台机器。这意味着,每30秒,51 * 13 = 663Mb的数据将以突发方式发送到目标计算机。

遵循的步骤:

  1. 我在发送方和接收方rabbitmq服务器之间使用了铲子来传输消息。
  2. 发件人和收件人都有自己的rabbitMq服务器正在运行。
  3. 我正在使用RabbitTemplate.send(routingKey,51mbMessage)发送消息。
  4. 我在目标计算机上使用OnMessageListener来接收消息。
  5. 接收方的OnMessageListener:

    <rabbit:listener-container connection-factory="connectionFactory"          prefetch="10" >
        <rabbit:listener ref="onMessageReceiverforMyTestQueue"   queue- names="MyTestQueue" /> 
    </rabbit:listener-container>
    
    <bean id = "onMessageReceiverforLoadTestQueue"      class="MyPackage.MyMessageListener">
    </bean>
    

    接收方的ConnectionFactory:

      class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
        <constructor-arg value="***.**.**.**"/>
        <property name="username" value="abcd"/>
        <property name="password" value="abcd"/>
        <property name="channelCacheSize" value="50"/>
    

    观察结果:

    1. 这些消息需要很长时间才能到达目标机器。我的延迟时间约为10-15分钟。
    2. 你能帮我克服这个延迟吗?我非常感谢这里提供的任何帮助。提前谢谢。

0 个答案:

没有答案