请问,在集群下Hibernate二级缓存下200万个对象的有关问题
请教,在集群上Hibernate二级缓存上200万个对象的问题
对象如下,我在想我的系统达到200万用户的时候,由于用户对象做了缓存的,所以可能达到200万个对象缓存。
在集群部署时,采用节点间复制的缓存技术(Jboss Cache)。由于用户注册,改变name和email还是可能的,不过频率应该不高。另外可能还有新注册用户等。请问,会不会导致比较大的问题?
虽然从占用内存量来计算, 200W * 0.1K = 20m(100个字节一个对象足够)。
我自己觉得心里感觉不稳啊。请各位大佬帮忙考虑下。

是,200M。
如果我再做点别的缓存,那算起来500M的话,我的系统不知道还行不行。。。
以前没有做过这方面的架构,请大家指教。
好的,我试试。
弱弱的问下:如何看到一个对象占多少内存?
另外,我想大多数时候,用户记录不会这么多的。在大的应用场合,自然可以启用大内存吧。
对象如下,我在想我的系统达到200万用户的时候,由于用户对象做了缓存的,所以可能达到200万个对象缓存。
在集群部署时,采用节点间复制的缓存技术(Jboss Cache)。由于用户注册,改变name和email还是可能的,不过频率应该不高。另外可能还有新注册用户等。请问,会不会导致比较大的问题?
虽然从占用内存量来计算, 200W * 0.1K = 20m(100个字节一个对象足够)。
我自己觉得心里感觉不稳啊。请各位大佬帮忙考虑下。
public class Member { private String name; private String uid; private String email; }
1 楼
shaucle
2007-07-26
楼主得先补下数学。。。 (200W*0.1K = 200 M)
2 楼
phpxer
2007-07-26
shaucle 写道
楼主得先补下数学。。。 (200W*0.1K = 200 M)
是,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 -_-!
我小测了下,
结果是一个简单的记录大约为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 -_-!
我小测了下,
结果是一个简单的记录大约为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或者其他策略