« May 2007 | Main | September 2007 »

July 2007 Archives

July 11, 2007

The JE DbCacheSize Utility

Often users experience performance problems related to improper cache sizing.  A useful tool, albeit an undocumented one, for helping to size caches is com.sleepycat.je.util.DbCacheSize.  The header comments in the source code provide a good description of how to invoke it, what it calculates, and what its limitations are.  Briefly, you provide (at a minimum) the key size and the number of records.  Optionally you can also provide data size, "overhead" percentage, btree fanout, node density, and a directory in which to perform a trial run.  The program then provides an estimate of the minimum and maximum cache size required for holding the database in memory.  This comes in two forms: (1) the cache size to hold the internal nodes, and (2) the cache size to hold the internal and leaf (i.e. data) nodes.  To account for various overheads, an "overhead" percentage is added.  So the output has both "Cache Size" and "Btree Size", the former including the overhead and being the larger.

Here is an example run (again, taken right from the source code class header comments):

$ java DbCacheSize -records 554719 -key 16 -data 100
Inputs: records=554719 keySize=16 dataSize=100 nodeMax=128 density=80%
overhead=10%

   Cache Size      Btree Size  Description
 ------------    ------------  -----------
   30,547,440      27,492,696  Minimum, internal nodes only
   41,460,720      37,314,648  Maximum, internal nodes only
  114,371,644     102,934,480  Minimum, internal nodes and leaf nodes
  125,284,924     112,756,432  Maximum, internal nodes and leaf nodes

Btree levels: 3

This says that the minimum cache size to hold only the internal nodes of the btree in cache is approximately 30MB. The maximum size to hold the entire database in cache, both internal nodes and datarecords, is 125Mb.

July 20, 2007

A User's Experience with the DPL



http://sujitpal.blogspot.com/2007/07/annotation-driven-object-persistence.html

About July 2007

This page contains all entries posted to Charles Lamb's Blog in July 2007. They are listed from oldest to newest.

May 2007 is the previous archive.

September 2007 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle