Monitoring the database cache

Monitor the effectiveness of the database cache by occasionally checking cache statistics.

You can view the following statistics by viewing Mail & Database Statistic Reports or by using the server command:

Show Stat Database.DbCache.*
Table 1. Mail & Database Statistic Reports

Statistic

Description

Database.DbCache.CurrentEntries

Number of databases currently in the cache. If this number frequently approaches the value of Database.DbCache.MaxEntries, increase the number of databases the cache can hold.

Database.DbCache.HighWaterMark

Maximum number of databases in the cache during this running of the server program. This number may be artificially high because of startup activity, so it may not be a genuine indicator of cache performance.

Database.DbCache.Hits

The number of times an "InitialDbOpen" is satisfied by finding the database in the cache. A high "hits-to-opens" ratio indicates that the database cache is working effectively. If the ratio is low, increase the number of databases the cache can hold.

Database.DbCache.InitialDbOpens

The number of times a user/server opened a database that was not already being used by another user/server. For example, if a user opens a mail file while it is being used by the Replicator, this number does not increase. Compare this number to Database.DbCache.Hits to gauge the effectiveness of the cache.

Database.DbCache.Lookups

The number of lookups to the database cache. A high "Database.DbCache.Hit" to "Database.DbCache.Lookups" ratio means the database cache is effective. If the ratio is low, increase the number of databases the cache can hold.

Database.DbCache.MaxEntries

The number of databases the server can currently hold in its cache at once. To change this value, use the NOTES.INI file setting, NSF_DbCache_Maxentries, or increase physical memory.

Database.DbCache.OvercrowdingRejections

Number of times a database is not placed into the cache when it is closed because Database.DbCache.CurrentEntries equals or exceeds Database.DbCache.MaxEntries times 1.5. This number should stay low. If it begins to rise, increase the number of databases the cache can hold.