Hi, All, I just wrote some tests against JCS performance. Here is some interesting thing I discovered. If I put cached object to group using putInGroup(key, groupName, value), it will result in memory leak problem. Below is the memory report from JProble: Before it ran out of memory, the groupId, groupAttrName, Integer(don't know what it is used for) and IndexedDiskElementDescriptor used up most of the heap. Class Memory usage org.apache.jcs.engine.control.group.GroupId 1,697,328 (21.0%) org.apache.jcs.engine.control.group.GroupAttrName 1,697,328 (21.0%) java.lang.Integer 1,115,024 (13.8%) org.apache.jcs.auxiliary.disk.indexed.IndexedDiskElementDescriptor 1,624,560 (20.1%) If I put the object directly to a region without using any group, the performance is getting better but still, IndexedDiskElementDescriptor is the top one object consuming the heap. Why the IndexedDiskElementDescriptor need to keep the serialized form of the cached object. Shouldn't the cached object suppose to be written out to the auxiliary disk and be removed from the memory? Without using the grouping, the number of objects in JCS is 6 times more than using the grouping. With this memory issue, it is really intimidating us from using JCS. Any explanation or answer will be greatly appreciated. Best regards, Amy
