Finally, the larger the entry the more likely compression will achieve good results as the potential for duplicate bytes, and a series of duplicate bytes, increases. Also, since region entries are first serialized into a byte area before being compressed, how well the data might compress is determined by the number and length of duplicate bytes across the entire entry and not just a single field. Duplicate bytes are compressed more easily. Since compression is performed on each entry separately (and not on the region as a whole), consider the potential for duplicate data across a single entry. If the amount of free memory regularly drops below 20% - 25% or the duration of the garbage collection cycles is generally on the high side, then the regions hosted on that JVM are good candidates for having compression enabled.Ĭonsider the types and lengths of the fields in the region’s entries. To determine if JVM memory usage is high, examine the the following statistics: Compression allows you to store more region data in-memory and to reduce the number of expensive garbage collection cycles that prevent JVMs from running out of memory when memory usage is high. Use compression when JVM memory usage is too high. Review the following guidelines when deciding on whether or not to enable compression in your region: The comparative performance of compressed regions versus non-compressed regions can vary depending on how the region is being used and whether the region is hosted in a memory-bound JVM. When using region compression, you can use the default Snappy compressor included with GemFire or you can specify your own compressor.Ĭomparing Performance of Compressed and Non-Compressed Regions This topic describes how to enable compression on your region. This topic describes factors to consider when deciding on whether to use compression. You can have a mix of compressed and non-compressed regions in the same cache. It is not possible to compress individual fields of an entry. When compression is enabled, each value in the region is compressed, and each region entry is compressed as a single unit. ![]() Values are decompressed before being sent over the wire to other peer members or clients. Values are not compressed when persisted to disk. New values are compressed when put into the in-memory cache and all values are decompressed when being read from the cache. ![]() When you enable compression in a region, all values stored in the region are compressed while in memory. GemFire includes the Snappy compressor as the built-in compression codec however, you can implement and specify a different compressor for each compressed region. GemFire allows you to compress in-memory region values using pluggable compressors (compression codecs). One way to reduce memory consumption by GemFire is to enable compression in your regions. This section describes region compression, its benefits and usage.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |