弹簧Websockets与tomcat服务器和兔子mq作为消息代理stomp - 负载测试连接失败

时间:2017-08-23 19:41:43

标签: websocket rabbitmq spring-rabbitmq

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

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

当尝试使用RabbitMQ作为中继代理(在AWS中托管 - 单个实例)时,在进行负载测试时,在经过一定数量的连接(4000)后失败。 (在RabbitMQ中更改了配置文件   - Filedescriptors 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)

1 个答案:

答案 0 :(得分:0)

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