Hello! It's hard to say. Do you have persistence? Are you sure that cache store is not the bottleneck?
I would start with gathering thread dumps from whole cluster when in stuck state. Regards, -- Ilya Kasnacheev ср, 27 февр. 2019 г. в 15:06, Justin Ji <[email protected]>: > Dmitry - > > I also encountered this problem. > > I used both persistence and indexing, when I loaded 20 million records, the > loading speed became much slower than before, but the CPU of the ignite > server is low. > > < > http://apache-ignite-users.70518.x6.nabble.com/file/t2000/WX20190227-200059.png> > > > Here is my cache configuration: > > CacheConfiguration<K, V> cacheCfg = new CacheConfiguration(); > cacheCfg.setName(cacheName); > cacheCfg.setCacheMode(CacheMode.PARTITIONED); > cacheCfg.setBackups(1); > cacheCfg.setAtomicityMode(CacheAtomicityMode.ATOMIC); > > cacheCfg.setCacheStoreFactory(FactoryBuilder.factoryOf(DataPointCacheStore.class)); > cacheCfg.setWriteThrough(true); > cacheCfg.setWriteBehindEnabled(true); > cacheCfg.setWriteBehindFlushThreadCount(2); > cacheCfg.setWriteBehindFlushFrequency(15 * 1000); > cacheCfg.setWriteBehindFlushSize(409600); > cacheCfg.setWriteBehindBatchSize(1024); > cacheCfg.setStoreKeepBinary(true); > cacheCfg.setQueryParallelism(16); > cacheCfg.setRebalanceBatchSize(2 * 1024 * 1024); > cacheCfg.setRebalanceThrottle(100); > CacheKeyConfiguration cacheKeyConfiguration = new > CacheKeyConfiguration(DpKey.class); > cacheCfg.setKeyConfiguration(cacheKeyConfiguration); > > List<QueryEntity> entities = Lists.newArrayList(); > > QueryEntity entity = new QueryEntity(DpKey.class.getName(), > DpCache.class.getName()); > entity.setTableName(IgniteTableKey.T_DATA_POINT_NEW.getCode()); > > LinkedHashMap<String, String> map = new LinkedHashMap<>(); > map.put("id", "java.lang.String"); > map.put("gmtCreate", "java.lang.Long"); > map.put("gmtModified", "java.lang.Long"); > map.put("devId", "java.lang.String"); > map.put("dpId", "java.lang.Integer"); > map.put("code", "java.lang.String"); > map.put("name", "java.lang.String"); > map.put("customName", "java.lang.String"); > map.put("mode", "java.lang.String"); > map.put("type", "java.lang.String"); > map.put("value", "java.lang.String"); > map.put("rawValue", byte[].class.getName()); > map.put("time", "java.lang.Long"); > map.put("status", "java.lang.Boolean"); > map.put("uuid", "java.lang.String"); > > entity.setFields(map); > QueryIndex devIdIdx = new QueryIndex("devId"); > devIdIdx.setName("idx_devId"); > devIdIdx.setInlineSize(128); > List<QueryIndex> indexes = Lists.newArrayList(devIdIdx); > entity.setIndexes(indexes); > > entities.add(entity); > cacheCfg.setQueryEntities(entities); > > > Can you give me some advice on where to start solving these problems? > > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
