我们注意到以下问题:每当我们的 Tomcat JVM 执行 Full GC 时,在 LB 和 Tomcat 之间创建连接的请求都会失败。这是非常有问题的,因为所有这些请求将永远没有机会到达应用程序服务器。
即使我们将一个 Tomcat 指向另一个 Tomcat 且中间没有任何 LB,也会出现此问题。
是否有任何可以在 JVM/Tomcat/Linux 中完成的定义,使 HTTP 连接等待 GC 结束并且应用程序 JVM 将收到请求的时间。
我们使用 Java6、Tomcat7 和 Linux Ubuntu 操作系统。
谢谢, 尤西
请您参考如下方法:
您是否考虑过使用“XX:+UseConcMarkSweepGC”选项来使用并发垃圾收集器?这本质上是在后台执行垃圾收集,这样就不会出现那么多(如果有的话)“停止世界”的完整 GC。