还有,有没有什么工具,简单的小工具,不要太大的工具,能看看对象占用内存大小
7 个解决方案
#1
5k条数据 , 要看你这些数据 有多少字了。 一个中文2字节。自己算算。
另外 有相应的存储过程可以查看 占用内存的大小,Google下很多。
另外 有相应的存储过程可以查看 占用内存的大小,Google下很多。
#2
只混幼儿园.....................
#3
每条数据算有100个字符, 共200字节, 5000条为
5000 * 200 Byte = 1000K = 1M
一个程序增加1M的内存使用就能提高很多性能, 你说值不值呢?
5000 * 200 Byte = 1000K = 1M
一个程序增加1M的内存使用就能提高很多性能, 你说值不值呢?
#4
看你5K每条占多少了。每条1K也就5M,值。
#5
那分布式系统中 怎么处理这个内存读取问题呢
#6
我做过:N台web app server+数据库双机热备,从数据库读出来cache在内存的数据是这么做的更新:
1。web server启动的时候,配置一个servlet向数据库的某个表中register一个ip:port,并隔一段时间(比如1分钟)向数据库的表刷新一下last_valid_time表示服务器还活着(heartbeat,服务器有效性监控)。
2。同一,另一个servlet开启一个进程,监控是否有别的web server向此发refresh命令。
3。任意一个web server改变了数据库的数据(insert/update/delete),本身的cache是即时更新的,但其他的webserver不晓得,则查询1中所有活着的ip:port,循环向它的(2)对应的service发请求,告诉它要刷哪个cache。
4。(2)对应的service接收到refresh请求,从数据库重新load数据。
以上方法重新load时看web server之间的网络状况,会有延时,但没有找到更好的办法,只能凑合用。
#7
内存缓冲,不要自己做了,有许多现成的Cache工具类,支持分布式。比如
OsCache, jboss 的 ehcache 等
OsCache, jboss 的 ehcache 等
#1
5k条数据 , 要看你这些数据 有多少字了。 一个中文2字节。自己算算。
另外 有相应的存储过程可以查看 占用内存的大小,Google下很多。
另外 有相应的存储过程可以查看 占用内存的大小,Google下很多。
#2
只混幼儿园.....................
#3
每条数据算有100个字符, 共200字节, 5000条为
5000 * 200 Byte = 1000K = 1M
一个程序增加1M的内存使用就能提高很多性能, 你说值不值呢?
5000 * 200 Byte = 1000K = 1M
一个程序增加1M的内存使用就能提高很多性能, 你说值不值呢?
#4
看你5K每条占多少了。每条1K也就5M,值。
#5
那分布式系统中 怎么处理这个内存读取问题呢
#6
我做过:N台web app server+数据库双机热备,从数据库读出来cache在内存的数据是这么做的更新:
1。web server启动的时候,配置一个servlet向数据库的某个表中register一个ip:port,并隔一段时间(比如1分钟)向数据库的表刷新一下last_valid_time表示服务器还活着(heartbeat,服务器有效性监控)。
2。同一,另一个servlet开启一个进程,监控是否有别的web server向此发refresh命令。
3。任意一个web server改变了数据库的数据(insert/update/delete),本身的cache是即时更新的,但其他的webserver不晓得,则查询1中所有活着的ip:port,循环向它的(2)对应的service发请求,告诉它要刷哪个cache。
4。(2)对应的service接收到refresh请求,从数据库重新load数据。
以上方法重新load时看web server之间的网络状况,会有延时,但没有找到更好的办法,只能凑合用。
#7
内存缓冲,不要自己做了,有许多现成的Cache工具类,支持分布式。比如
OsCache, jboss 的 ehcache 等
OsCache, jboss 的 ehcache 等