Java ApacheIgnite是否支持10000个缓存?

Java ApacheIgnite是否支持10000个缓存?,java,caching,benchmarking,ignite,Java,Caching,Benchmarking,Ignite,我们正在为我们的产品评估ApacheIgnite。在我们的场景中,我们可能有10000个缓存,我尝试了一下尺度基准框架。我发现当缓存数量上升到8192时,Ignite服务器变得异常。由于我已在配置中设置了持续时间,因此该案例预计将在1分钟后完成,但测试将在10分钟内持续运行,因此我必须终止测试 如果我将缓存号设置为4096,测试将在1分钟内完成。 所以问题是:ApacheIgnite是否支持10000个缓存?一个缓存在每个节点的数据结构中将使用大约2000万个堆。乘以10000,这里就是200G

我们正在为我们的产品评估ApacheIgnite。在我们的场景中,我们可能有10000个缓存,我尝试了一下尺度基准框架。我发现当缓存数量上升到8192时,Ignite服务器变得异常。由于我已在配置中设置了持续时间,因此该案例预计将在1分钟后完成,但测试将在10分钟内持续运行,因此我必须终止测试

如果我将缓存号设置为4096,测试将在1分钟内完成。
所以问题是:ApacheIgnite是否支持10000个缓存?

一个缓存在每个节点的数据结构中将使用大约2000万个堆。乘以10000,这里就是200G。实际上,Java不会处理那么多堆


你为什么需要10000个缓存?请至少考虑使用缓存组。最好的方法是拥有几个缓存并在它们之间进行路由。

一个缓存将使用大约20M的堆作为每个节点的数据结构。乘以10000,这里就是200G。实际上,Java不会处理那么多堆


你为什么需要10000个缓存?请至少考虑使用缓存组。最好的方法是使用几个缓存并在它们之间进行路由。

但是我已经检查了进程的内存开销,只使用了大约50 GB,我的测试机器有256 GB内存。通常由于使用压缩指针,JVM的堆使用量上限为32G。您可能希望禁用这些选项,然后使用一些英勇的-Xmx(例如-Xmx192G)重试,但结果可能会有所不同,感谢您对缓存组的提醒,我可以通过编程方式在特定缓存组中创建缓存吗?我们需要动态创建缓存,所以此处的帮助不大。是的,您应该能够在运行时使用cacheCfg.setGroupName。谢谢,缓存组可以工作。我想知道缓存组而不是单个缓存是否有任何缺点?但我检查了进程的内存成本,只使用了大约50 GB,我的测试机器有256 GB内存。通常由于使用压缩指针,JVM的堆使用率上限为32G。您可能希望禁用这些选项,然后使用一些英勇的-Xmx(例如-Xmx192G)重试,但结果可能会有所不同,感谢您对缓存组的提醒,我可以通过编程方式在特定缓存组中创建缓存吗?我们需要动态创建缓存,所以此处的帮助不大。是的,您应该能够在运行时使用cacheCfg.setGroupName。谢谢,缓存组可以工作。我想知道缓存组而不是单个缓存是否有任何缺点?