2017-02-13 23 views
0

我已经运行ActiveMQ,它通过stomp端口与20000 +服务器同时连接发布和使用消息。 activemq服务器运行8CPU和32G内存。我已将JVM最大内存分配为-Xmx16384m。但是,当所有的服务器都与这个ActiveMQ连接时,服务器会被加载,虚拟内存的使用量大约为21G,CPU利用率大约是500次。activemq调整为20000个线程

不确定JVM是否使用这个activemq中使用的那么多或任何其他进程,并尝试使用很多调节并且没有改进。

回答

0

也许你应该重新考虑这个架构。如果你真的需要这么多的服务器,你可能想尝试一个非阻塞消息总线,如ActiveMQ Artemis。我不确定在你的设置下它支持多少STOMP客户端,但值得一试。保持这么多客户端的独立线程将会产生巨大的内存占用,我认为Artemis会更好地处理这种情况。不知道STOMP。