Hi,

I am seeing strange performance issue when I want to create large number of
regions.
Test I am doing with 1500 Regions.

~ 2 minutes for creating first 1130 regions
~7 minutes for creating remaining 370 regions.

Following is example code :

Cache geodeCache = this.createCache();
final String REGION_NAME = "Region_Name";
for ( int i = 0; i < 1500; i++) {
  RegionFactory<Object, Object> rf =
geodeCache.createRegionFactory(RegionShortcut.PARTITION_PERSISTENT_OVERFLOW);
  rf.setDiskSynchronous(true);
  rf.setEvictionAttributes(EvictionAttributes.createLIFOEntryAttributes(1,
EvictionAction.OVERFLOW_TO_DISK));
  Region<Object, Object> region = rf.create(REGION_NAME + "_" + i);
}
geodeCache.close();


If I remove following code from createVMRegion ( GemFireCacheImpl.java ),
then I could create Regions in 2 minutes.

if (!rgn.isInternalRegion()) {
  system.handleResourceEvent(ResourceEvent.REGION_CREATE, rgn);
}

Any help or pointers why this is happening ?


Thanks

Avinash

Reply via email to