Apache Ignite:JVM 暂停时间可能过长:714 毫秒

Apache Ignite: Possible too long JVM pause: 714 milliseconds

我设置了 Apache Ignite 服务器,并将 SpringBoot 应用程序作为 Kubernetes 集群中的客户端。

在性能测试中,我开始注意到在SpringBoot应用程序中频繁出现以下日志:

org.apache.ignite.internal.IgniteKernal: Possible too long JVM pause: 714 milliseconds

根据 this post,这是由于 "JVM is experiencing long garbage collection pauses",但基础架构团队已向我确认我们在服务器 JVM 选项中包含了 +UseG1GC+DisableExplicitGC而这行日志只在SpringBoot应用中显示。

请帮助解决以下问题:

  1. GC发生在Client(SpringBoot应用)还是Server节点?
  2. 长时间的 GC 暂停会产生什么影响?
  3. 我应该怎么做才能避免影响?
  4. 我是否也必须在 SpringBoot 应用程序中配置 JVM 选项?

GC发生在Client(SpringBoot应用)还是Server节点?

GC错误将被记录到出现问题的节点的日志中。

长时间的 GC 暂停会产生什么影响?

此类暂停会降低整体性能。此外,如果暂停时间长于 failureDetectionTimeout 节点将从集群断开连接。

我应该怎么做才能避免影响?

此处收集一般建议 - https://apacheignite.readme.io/docs/jvm-and-system-tuning。您还可以启用 GC 日志以全面了解发生的情况。

SpringBoot应用中是否也需要配置JVM选项?

看起来你应该这样做,因为你的客户端节点有问题。