当客户端断开连接时,wso2 esb内存不足

时间:2015-05-15 15:27:53

标签: out-of-memory wso2esb

我运行了wso2esb 4.8.0并部署了一些代理。

在收到来自esb的响应之前,一切正常,直到调用代理的客户端开始断开连接。

几分钟后,ESB进入outOfmemory错误。

请求的平均大小为:1.2 Kb。 答案的平均大小为:1.6 Mb。

服务器正在运行:-Xms256m -Xmx1024m -XX:MaxPermSize = 256m。

在堆转储中,我可以看到保留内存的主要类是java.lang.Thread(PassThroghtMessageProcessor),很多都是36Mb的大小。

有时也会出现此错误:java.lang.OutOfMemoryError:超出GC开销限制

如果客户不断开连接,一切运行良好。

任何想法?

1 个答案:

答案 0 :(得分:0)

如果客户端断开连接,可能根本原因是您的后端需要很长时间才能回答。

您可以做一些事情:

  1. 减少后端响应的超时,因此消息不会堆积在ESB上

  2. 使用限制中介或处理程序来拒绝超过特定费率的邮件。

  3. 两者都针对症状(ESB的oom)。除此之外,可能需要重新设计集成模型,可能采用存储转发方法。