Skip to content

Latest commit

 

History

History
131 lines (119 loc) · 8.34 KB

engine-params.org

File metadata and controls

131 lines (119 loc) · 8.34 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
max_checkpointsintNumber of max checkpoints allowed per
vbucket
inconsistent_slave_chkboolTrue if we allow a “downstream” master to
receive checkpoint begin/end messages
item_num_based_new_chkboolEnable a new checkpoint creation if the
number of items in a checkpoint is greater
than the max number allowed
along with normal get/set operations.
tap_backfill_residentfloatResident item threshold for only memory
backfill to be kicked off
keep_closed_chksboolTrue if we want to keep closed checkpoints
in memory if the current memory usage is
below high water mark
chk_meta_items_onlyboolTrue if a checkpoint should contain items
with keys and meta data only.
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)
mutation_mem_thresholdfloatMemory threshold on the current bucket
quota for accepting a new mutation
tap_throttle_queue_capintThe maximum size of the disk write queue
to throttle down tap-based replication. -1
means don’t throttle.
tap_throttle_thresholdfloatPercentage of memory in use before we
throttle tap streams
klog_pathstringPath to the mutation key log.
klog_block_sizeintMutation key log block size.
klog_flushstringWhen to force buffer flushes during
klog (off, commit1, commit2, full)
klog_syncstringWhen to fsync during klog.

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