Ignite 中的性能问题

问题描述 投票:0回答:1

我们面临 Apache Ignite 的性能问题。我们的应用程序在 Azure Kubernetes (v1.27.1) 上运行,它有 24 个大小为“Standard_F64s_v2”的节点(处理大约 1300 万条记录)。 我们经常得到

[警告][jvm-pause- detector-worker][IgniteKernal] JVM 暂停时间可能过长:xxxx 毫秒

执行任何操作(例如读取、编码等)时

系统信息(Apache Ignite 集群)

  • 堆大小:64GB 内存中的 32GB
  • CPU:标准_F64s_v2
  • 服务器实例数量:24个
  • IO等等:在正常范围内
  • IOPS:每小时 10k–600K
  • JDK:Oracle JDK8,1.8.0_281
  • APACHE 点燃 - 2.14.0
  • ignite.sh中的GC配置: XX:-UseContainerSupport、XX:+AlwaysPreTouch、XX:+UseG1GC、XX:+ScavengeBeforeFullGC、XX:+DisableExplicitGC”

请协助我们确定此问题的根本原因。

azure kubernetes jvm ignite
1个回答
-1
投票

我需要更多信息才能提供帮助。 Azure Standard_F64s_v2 具有 64 个核心和 128 GB 内存。但你是说 64 GB 中有 32 GB 吗?那么另外 64 GB 呢?另外你用的是K8。您是否确保所有 24 个 Pod 都在单独的物理主机上运行?您也没有说明您配置了多少堆外空间。

请注意,Ignite 将其数据存储在堆外内存中。 JVM 用于访问堆外内存以执行 SQL 查询和其他数据操作等操作。它们使用 JVM,并且根据操作量,它可能会影响垃圾收集操作。有时,较小的 JVM 设置会有所帮助,因为垃圾收集会更频繁地发生,但也可以解决更少的对象/收集周期。

© www.soinside.com 2019 - 2024. All rights reserved.