我正在阅读jboss如何将加载因子和生命周期事件传递给mod_cluster以有效地对群集进行负载平衡。在ruby on rails世界独角兽和乘客4进行带外垃圾收集,其中一个实例暂时从群集中取出以执行其gc然后重新进入,因此响应延迟不受gc的影响。是不是jboss& mod_cluster做同样的事情,或者实际上是一样的东西?
答案 0 :(得分:1)
嗯......如果您在生产环境中遇到与垃圾收集相关的问题(比如说,一个绝对没有响应的系统,持续10分钟),您就会遇到与JVM /应用程序配置相关的问题。
mod_cluster,作为智能负载均衡器,计算工作节点上的负载并将其发送回httpd。此加载可能包含以下一个或多个指标:
我认为无论如何都会通过cpu指标轻松获取密集的垃圾收集。
另一方面...... 如果你真的想以这种方式解决垃圾收集问题,最好通过mod_cluster-manager控制台完成它,可以暂时禁用一个节点。一旦节点被禁用,就不会在其上创建任何新会话,因此一旦所有会话耗尽,您可能会有一个没有任何活动请求的节点。
另一种方法是编写自己的负载指标,以某种方式确定JVM是否为GC做好准备,如果是这样,它将影响正在发送的负载。然而,我发现这是一个相当肮脏的伎俩。
HTH