请教,在集群上Hibernate二级缓存上200万个对象的问题
对象如下,我在想我的系统达到200万用户的时候,由于用户对象做了缓存的,所以可能达到200万个对象缓存。
在集群部署时,采用节点间复制的缓存技术(Jboss Cache)。由于用户注册,改变name和email还是可能的,不过频率应该不高。另外可能还有新注册用户等。请问,会不会导致比较大的问题?
虽然从占用内存量来计算, 200W * 0.1K = 20m(100个字节一个对象足够)。
我自己觉得心里感觉不稳啊。请各位大佬帮忙考虑下。
public class Member { private String name;private String uid;private String email;}
是,200M。
如果我再做点别的缓存,那算起来500M的话,我的系统不知道还行不行。。。
以前没有做过这方面的架构,请大家指教。 3 楼 shaucle 2007-07-26 你可以自己测下
我小测了下,
结果是一个简单的记录大约为0.2-0.3K
20W的map, totalM约65M, freeM约10M (map之前分别为1和2,乎略)
如果机子设置Xmx为512,app本身大约要100-300M(不同服务和不同阶段可能不同)
我这边过50W的map就会OOM -_-! 4 楼 phpxer 2007-07-26 shaucle 写道你可以自己测下
我小测了下,
结果是一个简单的记录大约为0.2-0.3K
20W的map, totalM约65M, freeM约10M (map之前分别为1和2,乎略)
如果机子设置Xmx为512,app本身大约要100-300M(不同服务和不同阶段可能不同)
我这边过50W的map就会OOM -_-!
好的,我试试。
弱弱的问下:如何看到一个对象占多少内存?
另外,我想大多数时候,用户记录不会这么多的。在大的应用场合,自然可以启用大内存吧。 5 楼 Readonly 2007-07-26 你可以设置cache size,采用LRU或者其他策略