Apache Ignite Key-Value Map высокая загрузка ЦП - PullRequest
0 голосов
/ 01 апреля 2020

Мы настроили кэш пар «ключ-значение» с использованием интеграции Ignite и Spring Cache, однако мы сталкиваемся с проблемой высокой загрузки ЦП при попытке доступа к объекту кеша

Кэш инициализируется со следующими параметрами:

    @Bean   
    public SpringCacheManager getCacheManager(@Autowired Ignite
    ignite) {
        SpringCacheManager cacheManager = new SpringCacheManager();
        cacheConfig = new CacheConfiguration<Object, Object>("defaultDynamicCacheConfig")
               .setCacheMode(CacheMode.REPLICATED);
        cacheManager.setDynamicCacheConfiguration(cacheConfig);
        return cacheManager;    
    }

Мы пробовали различные настройки, такие как setOnheapCacheEnabled (true) setSqlOnheapCacheEnabled (true)

, но эти настройки не помогли. Мы также попробовали nearCache, но поскольку мы запускаем Ignite в режиме сервера, это не удалось.

Мы видим следующее в трассировке стека при профилировании:

org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1717)
org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1778)
...
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143)
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177)
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:67)
org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:125)
org.apache.ignite.internal.processors.cache.GridCacheContext.unwrapBinaryIfNeeded(GridCacheContext.java:1773)
...