Controlla la dimensione degli oggetti in una cache di gemfire
-
13-11-2019 - |
Domanda
Qualcuno sa un modo per controllare la dimensione degli oggetti memorizzati in una cache di gemfire? O anche la dimensione delle regioni stesse (in MB, piuttosto che il numero di oggetti che contengono).
Stiamo modificando la composizione di alcuni dei nostri oggetti e mi piacerebbe vedere quale tensione extra/meno stiamo mettendo sul tempo impiegato per Gemfire per serializzarli e le dimensioni del prodotto finale ...
Saluti, Dave.
Soluzione
Nel caso in cui altri percorrono questo percorso, ecco un paio di articoli pubblicati di recente che possono essere rilevanti per questa domanda:
Data Sizer Java Utility Class: http://communities.vmware.com/docs/doc-20695
Forse, non abbastanza specifico, ma è comunque molto utileLinee guida per il dimensionamento della memoria di gemfire: http://communities.vmware.com/docs/doc-20714
Altri suggerimenti
È forse un po 'in ritardo per rispondere alla tua domanda, ma puoi provare uno dei seguenti per ottenere le dimensioni dei tuoi oggetti nella cache:
1) Utilizzare GFMON che è possibile scaricare dal sito Web VMware. Ti dirà le dimensioni nei byte di ogni regione.
2) Utilizzare il metodo CachedDeserializableFactory.CalcserializedMemSize (oggetto), ti dirà la dimensione dell'oggetto in memoria dopo che è stato serializzato.
Devi essere consapevole che i tuoi oggetti non saranno sempre archiviati in forma serializzata nella cache. Per forzare gli oggetti ad essere serializzati nella cache, è possibile utilizzare la proprietà del sistema gemfire.prefer_serialized = true.
Ad esempio: java -dgemfire.prefer_serialized = true com.example.mycacheserver