# The directory that overview will be stored in (the DB_HOME directory)
# is set in inn.conf with the 'pathoverview' option.  Other parameters
# for tuning ovdb are in this file.

# Compression: if INN was compiled with zlib, and this compress
# parameter is true, ovdb will compress overview records that are
# longer than 600 bytes.  See the ovdb(5) man page for more information.
# Default is false.
#compress       false

# Size of the memory pool cache, in Kilobytes.  The cache will have a
# backing store file in the DB directory which will be at least as big.
# In general, the bigger the cache, the better.  Use 'ovdb_stat -m' to see
# cache hit percentages.  If they're less than 80%, try increasing the
# cache size.  To make a change of this parameter take effect, shut down
# and restart INN (be sure to kill all of the nnrpd processes when shutting
# down).  Default is 8000 KB, which is adequate for small to medium-sized
# servers.  Large servers will probably need at least 20000 KB.
#cachesize      8000

# Number of regions across which to split the cache.  The region size
# is equal to cachesize divided by ncache.
# Default is 1 for ncache, that is to say the cache will be allocated
# contiguously in memory.
#ncache         1

# Overview data is split between this many files.  Currently,
# innd will keep all of the files open, so don't set this too high
# or innd may run out of file descriptors.  nnrpd only opens one
# at a time, regardless.  May be set to one, or just a few, but only
# do that if your OS supports large (> 2 GB) files.  Changing this
# parameter has no effect on an already-established database.
#numdbfiles     32

# If txn_nosync is set to false, Berkeley DB flushes the log after every
# transaction.  This minimizes the number of transactions that may be
# lost in the event of a crash, but results in significantly degraded
# performance.  Default is true (in which case ovdb_monitor flushes the
# transaction logs every 30 seconds).
#txn_nosync     true

# If useshm is set to true, Berkeley DB will use shared memory instead
# of mmap for its environment regions (cache, lock, etc).  With some
# platforms, this may improve performance.  Default is false.
#useshm         false

# Sets the shared memory key used by Berkeley DB when 'useshm' is true.
# Berkeley DB will create several (usually 5) shared memory segments,
# using sequentially numbered keys starting with 'shmkey'.
# Choose a key that does not conflict with any existing shared memory
# segments on your system.  Default is 6400.
#shmkey         6400

# Sets the page size for the DB files (in bytes).  Must be a power of 2.
# Best choices are 4096 or 8192.  The default is 8192.
# Changing this parameter has no effect on an already-established database.
#pagesize       8192

# Sets the minimum number of keys per page.  See the Berkeley DB
# documentation for more information.  Default is based on page size
# and whether compression is enabled:
#
#     default_minkey = MAX(2, pagesize / 2600)  if compress is false
#     default_minkey = MAX(2, pagesize / 1500)  if compress is true
#
# The lowest allowed minkey is 2.  Setting minkey higher than the
# default is not recommended, as it will cause the databases to have
# a lot of overflow pages.
# Changing this parameter has no effect on an already-established database.
#minkey         3

# Sets the Berkeley DB "lk_max" parameter, which is the maximum number
# of locks that can exist in the database at the same time.  Default
# is 4000.
#maxlocks       4000

# The nocompact parameter affects the behaviour of expireover.  The expireover
# function in ovdb can do its job in one of two ways: by simply deleting
# expired records from the database; or by re-writing the overview records
# into a different location leaving out the expired records.  The first
# method is faster, but it leaves 'holes' that result in space that can
# not immediately be reused.  The second method 'compacts' the records
# by rewriting them.
#
# If this parameter is set to 0, expireover will compact all newsgroups;
# if set to 1, expireover will not compact any newsgroups; and if set to
# a value greater than one, expireover will only compact groups that
# have less than that number of articles.
#
# Experience has shown that compacting has minimal effect (other than
# making expireover take longer) so the default is 1.  This parameter
# will probably be removed in the future.
#nocompact      1

# When the readserver parameter is set to false, each nnrpd process directly
# accesses the Berkeley DB environment.  The process of attaching to the
# database (and detaching when finished) is fairly expensive, and can result
# in high loads in situations when there are lots of reader connections
# of relatively short duration.
#
# When the readserver parameter is set to true, the nnrpd processes will access
# overview via a helper server (ovdb_server -- which is started by ovdb_init).
# This can also result in cleaner shutdowns for the database, improving
# stability and avoiding deadlocks and corrupted databases.  That's why
# you should try to set this parameter to true if you are experiencing
# any instability in ovdb.
# Default value is true.
#readserver     true

# This parameter is only used when 'readserver' is true.  It sets the number
# of ovdb_server processes.  As each ovdb_server can process only one
# transaction at a time, running more servers can improve reader response
# times.  Default is 5.
#numrsprocs     5

# This parameter is only used when 'readserver' is true.  It sets a maximum
# number of readers that a given ovdb_server process will serve at one time.
# This means the maximum number of readers for all of the ovdb_server
# processes is (numrsprocs * maxrsconn).  This does not limit the actual
# number of readers, since nnrpd will fall back to opening the database
# directly if it can't connect to an ovdb_server.  Default is 0, which means
# an unlimited number of connections is allowed.
#maxrsconn      0
