Skip to content

Latest commit

 

History

History
109 lines (98 loc) · 6.68 KB

engine-params.org

File metadata and controls

109 lines (98 loc) · 6.68 KB

EP Parameters

1 Configuring the Engine

Engine parameters may be specified using the -e option to memcached. These parameters control various aspects of the behavior of the engine.

For example, if you would like to store your database in /data/base and prevent it from having objects larger than 1MB, you would run memcached like this:

memcached -E ep.so -e 'dbfile=/data/base;max_item_size=1048576'

2 Parameters for the EP Engine

keytypedescr
config_filestringPath to additional parameters.
dbnamestringPath to on-disk storage.
shardpatternstringFile pattern for shards (see below)
ht_locksintNumber of locks per hash table.
ht_sizeintNumber of buckets per hash table.
initfilestringOptional SQL script to run after
opening DB
postInitfilestringOptional SQL script to run after
all DB shards and statements have
been initialized
max_item_sizeintMaximum number of bytes allowed for
an item.
max_sizeintMax cumulative item size in bytes.
max_txn_sizeintMax number of disk mutations per
transaction.
mem_high_watintAutomatically evict when exceeding
this size.
mem_low_watintLow water mark to aim for when evicting.
min_data_ageintMinimum data stability time before
persist.
queue_age_capintMaximum queue time before forcing persist.
tap_backlog_limitintMax number of items allowed in a
tap backfill
tap_noop_intervalintNumber of seconds between a noop is sent
on an idle connection
tap_keepaliveintSeconds to hold open named tap connections
tap_bg_max_pendingintMaximum number of pending bg fetch
operations
a tap queue may issue (before it must wait
for responses to appear.
tap_backoff_periodfloatNumber of seconds the tap connection
should back off after receiving ETMPFAIL
vb0boolIf true, start with an active vbucket 0
waitforwarmupboolWhether to block server start during
warmup.
warmupboolWhether to load existing data at startup.
expiry_windowintexpiry window to not persist an object
that is expired (or will be soon)
exp_pager_stimeintSleep time for the pager that purges
expired objects from memory and disk
failpartialwarmupboolIf false, continue running after failing
to load some records.
max_vbucketsintMaximum number of vbuckets expected (1024)
db_shardsintNumber of shards for db store
db_strategystringDB store strategy (“multiDB”, “singleDB”
or “singleMTDB”)
vb_del_chunk_sizeintChunk size of vbucket deletion
vb_chunk_del_timeintvb chunk deletion threshold time (ms) used
for adjusting the chunk size dynamically
concurrentDBboolTrue (default) if concurrent DB reads are
permitted where possible.
chk_remover_stimeintInterval for the checkpoint remover that
purges closed unreferenced checkpoints.
chk_max_itemsintNumber of max items allowed in a
checkpoint
chk_periodintTime bound (in sec.) on a checkpoint
inconsistent_slave_chkboolTrue if we allow a “downstream” master to
receive checkpoint begin/end messages
along with normal get/set operations.
bf_resident_thresholdfloatResident item threshold for only memory
backfill to be kicked off
getl_default_timeoutintThe default timeout for a getl lock in (s)
getl_max_timeoutintThe maximum timeout for a getl lock in (s)
sync_cmd_timeoutintThe timeout for SYNC requests in (ms)
mutation_mem_thresholdfloatMemory threshold on the current bucket
quota for accepting a new mutation

2.1 Shard Patterns

When using a multi-sharded database, shardpattern specifies how shards are named relative to the main database.

shardpattern uses a printf-style string to expand the path with the given variables:

  • %d : The directory name containing the main database (This will be . for relative paths).
  • %b : The base name of the main database.
  • %i : The shard number.

The default value of shardpattern is %d/%b-%i.sqlite