通过增加服务器堆的计算作业来点燃堆上缓存访问



我们有 2 个服务器节点和 1 个客户端节点和一个复制缓存。

当客户端提交多个计算作业时,来自这些作业的缓存访问 [get((] 会增加服务器堆。我认为每次访问 [get((] 都在 JVM 堆中创建一个新对象。我们并行运行的计算作业越多,需要的内存就越多。

既然我们的用例是只读缓存,有没有办法在不同的计算作业中重用同一个缓存对象?

默认情况下,Ignite 仅以二进制形式存储数据,并在每次读取值时对其进行反序列化。在只读方案中,您可以通过强制 Ignite 保存反序列化值来更改此行为:

<property name="copyOnRead" value="false"/>

请注意,这将增加初始内存消耗,因为每个条目都将具有序列化和反序列化值。但是,不会在每个get()上创建新对象。

最新更新