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

Tomcat 502负载平衡器和openam之间的代理错误,tomcat,mod-proxy,openam,Tomcat,Mod Proxy,Openam,我们有一个系统,在一个ApacheHTTPD负载平衡器后面有两个openams。从日志来看,负载似乎是均衡的,两个openams在一个时间范围内都有大约35k个请求。尽管1个openam在同一时间段内向另一个发送了大约100k个请求,但只收到了93k个请求 就OpenAM属性而言,我们有以下内容 已启用会话持久性和HA故障切换:true 已启用减少串扰:真 已启用会话注销/销毁:已禁用 减少串扰清除延迟:1 我们注意到,一个OpenAM使用的RAM量大约是另一个OpenAM的3倍(4.5gb

我们有一个系统,在一个ApacheHTTPD负载平衡器后面有两个openams。从日志来看,负载似乎是均衡的,两个openams在一个时间范围内都有大约35k个请求。尽管1个openam在同一时间段内向另一个发送了大约100k个请求,但只收到了93k个请求

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

  • 已启用会话持久性和HA故障切换:true
  • 已启用减少串扰:真
  • 已启用会话注销/销毁:已禁用
  • 减少串扰清除延迟:1
我们注意到,一个OpenAM使用的RAM量大约是另一个OpenAM的3倍(4.5gb而不是1.5gb)。负载平衡器为使用更多RAM并从另一个接收更多请求的OpenAM报告502个代理错误。这种情况大约每20或30分钟发生一次

httpd平衡器的代理超时被保留为默认值,我认为是30秒。我监控了每个OpenAM的连接数,它们看起来都一样,大约30个左右

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


有谁能想到为什么1个OpenAM需要3倍的RAM,并且在负载平衡器尝试连接时超时?欢迎所有帮助。

在13.0.0左右的版本中,减少串扰模式并不总是能够正常工作,因此建议禁用该模式

很难说为什么某个节点会消耗更多的RAM,你应该考虑在重过程中运行JMAP来确定你是在处理内存泄漏还是别的什么。