Ivan Rakov created IGNITE-8299: ---------------------------------- Summary: Optimize allocations and CPU consumption in active page replacement scenario Key: IGNITE-8299 URL: https://issues.apache.org/jira/browse/IGNITE-8299 Project: Ignite Issue Type: Improvement Reporter: Ivan Rakov Assignee: Ivan Rakov
Ignite performance significantly decreases when total size of local data is much greater than size of RAM. It can be explained by change of disk access pattern (random reads + random writes is complex even for SSDs), but after analysis of persistence code and JFRs it's clear that there's still room for optimization. The following possible optimizations should be investigated: 1) PageMemoryImpl.Segment#partGeneration performs allocation of GroupPartitionId during HashMap.get - we can get rid of it 2) LoadedPagesMap#getNearestAt is invoked at least 5 times in PageMemoryImpl.Segment#removePageForReplacement. It performs two allocations - we can get rid of it 3) If one of 5 evict candidates was erroneous, we'll find 5 new ones - we can reuse remaining 4 instead -- This message was sent by Atlassian JIRA (v7.6.3#76005)