【问题标题】:spring Websockets with stomp in tomcat server and rabbit mq as message broker - Load testing connection failure在tomcat服务器和rabbitmq中使用stomp作为消息代理的spring Websocket - 负载测试连接失败
【发布时间】:2017-08-23 19:41:42
【问题描述】:

在tomcat服务器和rabbit mq中使用带有stomp的spring Websockets作为消息代理。

当尝试在没有 RabbitMQ 作为中继代理的情况下运行时,它最多允许大约 10000 个连接。 (基于 tomcat 中允许的最大连接数限制)

当尝试使用 RabbitMQ 作为中继代理(托管在 AWS 中 - 单实例)时,在进行负载测试时,它在一定数量的连接 (4000) 后失败。 (在 RabbitMQ 中将配置文件更改为 - 文件描述符 10000,套接字描述符 8908,内存 2.8 GB)。 stompclient 的心跳设置为零。尝试增加 Java 客户端堆内存。

连接超过 4000 次后失败。在 RabbitMQ 中验证是否有任何限制,或者有什么方法可以进行负载测试?

java.lang.Exception: {message=[Connection to broker closed.], content-length=[0]}   
at org.springframework.messaging.simp.stomp.DefaultStompSession.invokeHandler(DefaultStompSession.java:435)
at org.springframework.messaging.simp.stomp.DefaultStompSession.handleMessage(DefaultStompSession.java:421)

【问题讨论】:

    标签: websocket rabbitmq spring-rabbit


    【解决方案1】:

    在从 websocket 将 rabbitMQ 配置为中继代理时,心跳设置为 10 秒。通过将心跳更改为零,它开始为更多连接工作而没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      相关资源
      最近更新 更多