Java 检查Gemfire缓存中对象的大小

Java 检查Gemfire缓存中对象的大小,java,caching,serialization,in-memory-database,Java,Caching,Serialization,In Memory Database,有人知道检查gemfire缓存中存储的对象大小的方法吗?甚至区域本身的大小(以MB为单位,而不是它们包含的对象数) 我们正在调整一些对象的组成,我想看看我们在Gemfire序列化它们所需的时间和最终产品的大小上增加了多少额外/更少的压力 干杯,Dave。回答您的问题可能有点晚了,但您可以尝试以下方法之一来获取缓存中对象的大小: 1) 使用可从vmware网站下载的GFMon。它将告诉您每个区域的大小(以字节为单位) 2) 使用CachedDeserializableFactory.calcSer

有人知道检查gemfire缓存中存储的对象大小的方法吗?甚至区域本身的大小(以MB为单位,而不是它们包含的对象数)

我们正在调整一些对象的组成,我想看看我们在Gemfire序列化它们所需的时间和最终产品的大小上增加了多少额外/更少的压力


干杯,Dave。

回答您的问题可能有点晚了,但您可以尝试以下方法之一来获取缓存中对象的大小:

1) 使用可从vmware网站下载的GFMon。它将告诉您每个区域的大小(以字节为单位)

2) 使用CachedDeserializableFactory.calcSerializedMemSize(object)方法,它将在序列化对象后告诉您内存中该对象的大小

您需要知道,您的对象并不总是以序列化形式存储在缓存中。要强制在缓存中序列化对象,可以使用系统属性gemfire.preference\u serialized=true

例如:
java-Dgemfire.preference_SERIALIZED=true com.example.MyCacheServer

回答您的问题可能有点晚,但您可以尝试以下方法之一来获取缓存中对象的大小:

1) 使用可从vmware网站下载的GFMon。它将告诉您每个区域的大小(以字节为单位)

2) 使用CachedDeserializableFactory.calcSerializedMemSize(object)方法,它将在序列化对象后告诉您内存中该对象的大小

您需要知道,您的对象并不总是以序列化形式存储在缓存中。要强制在缓存中序列化对象,可以使用系统属性gemfire.preference\u serialized=true

例如:
java-Dgemfire.preference_SERIALIZED=true com.example.MyCacheServer

如果其他人走这条路,下面是一些最近发布的文章,可能与这个问题有关:

数据大小器Java实用程序类

也许,不够具体,但还是很有用的
GemFire内存大小调整指南

如果其他人走这条路,下面是最近发布的几篇文章,可能与此问题有关:

数据大小器Java实用程序类

也许,不够具体,但还是很有用的 GemFire内存大小调整指南