502负载均衡器和openam之间的代理错误

时间:2017-05-22 09:01:48

标签: tomcat mod-proxy openam

我们有一个系统,我们在apache httpd负载均衡器后面有两个openams。通过查看日志,负载似乎均衡均衡,两个openams在一个时间范围内有大约35k的请求。虽然1个openam在同一时间段内向另一个发送了大约10万个请求,但只收到了93k。

就OpenAM属性而言,我们有以下

  • 会话持久性和HA故障转移已启用:true
  • 降低串扰启用:true
  • 会话注销/销毁已启用:已禁用
  • 减少串扰清除延迟:1

我们注意到一个OpenAM使用的RAM大约是另一个的3倍(4.5gb与1.5gb相比)。负载均衡器报告502正在使用更多RAM并从另一个接收更多请求的OpenAM的代理错误。这些大约每20或30分钟发生一次。

来自httpd平衡器的代理超时保留为默认值,我认为是30秒。我已经监控了每个OpenAM的连接数量,它们似乎都是相同的,大约在30左右。

机器有足够的RAM可用,我们没有限制tomcat将使用的堆数量。 OpenAM部署在tomcat8容器中并运行java8。

任何人都可以想到为什么1个OpenAM需要3倍的RAM量并且在负载均衡器尝试连接时超时?欢迎大家帮助。

1 个答案:

答案 0 :(得分:0)

在13.0.0左右的版本中减少串扰模式并不总是正常工作,所以有一个建议就是禁用它。

很难说某个节点为什么会消耗更多内存,你应该考虑针对繁重的进程运行jmap来尝试识别你是在处理内存泄漏还是其他什么。