diff options
author | dormando <dormando@rydia.net> | 2017-01-08 01:48:39 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2017-01-22 19:57:15 -0800 |
commit | fa8b42560aa948822514ed6560d8448623049297 (patch) | |
tree | a8bab256803f79b2cb8f53bd579ff2469dd885fd /doc | |
parent | e1d9af2bcf853e1179a9ee2ac526bea435c50930 (diff) | |
download | memcached-fa8b42560aa948822514ed6560d8448623049297.tar.gz |
NOEXP_LRU is now TEMP_LRU
Confident the other feature was never used; and if someone wants it, it's easy
to restore by allowing exptime of 0 to go into TEMP_LRU.
This could possibly become a default, or at least recommended.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/new_lru.txt | 12 | ||||
-rw-r--r-- | doc/protocol.txt | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/doc/new_lru.txt b/doc/new_lru.txt index 43b7f4b..96329c0 100644 --- a/doc/new_lru.txt +++ b/doc/new_lru.txt @@ -12,6 +12,7 @@ Now, enabling `-o lru_maintainer` changes all of the behavior below: * LRU updates only happen as items reach the bottom of an LRU. If active in HOT, stay in HOT, if active in WARM, stay in WARM. If active in COLD, move to WARM. + The exception is that items hit in COLD are immediately moved to WARM. * HOT/WARM each capped at 32% of memory available for that slab class. COLD is uncapped (by default, as of this writing). * Items flow from HOT/WARM into COLD. @@ -25,7 +26,7 @@ bottom. Items occasionally active (reaching COLD, but being hit before eviction), move to WARM. There they can stay relatively protected. A secondary goal is to improve latency. The LRU locks are no longer used on -item reads, only during sets and from the background thread. Also the +most item reads, largely during sets and from the background thread. Also the background thread is likely to find expired items and release them back to the slab class asynchronously, which speeds up new allocations. @@ -34,6 +35,9 @@ It is recommended to use this feature with the lru crawler as well: slab classes for items with expired TTL's. If your items are always set to never expire, you can omit this option safely. -An extra option: `-o expirezero_does_not_evict` (when used with -lru_maintainer) will make items with an expiration time of 0 unevictable. Take -caution as this will crowd out memory available for other items. +An extra option: `-o temporary_ttl=N` (when used with lru_maintainer) will make +items with a TTL less than or equal to this value use a fourth TEMP LRU. Items +stored in TEMP are never bumped within its LRU or moved to other LRU's. They +also cannot be evicted. This can help reduce holes and load on the LRU crawler. + +Do not set temporary_ttl too high or memory could become exhausted. diff --git a/doc/protocol.txt b/doc/protocol.txt index 6e3655c..c6aebc0 100644 --- a/doc/protocol.txt +++ b/doc/protocol.txt @@ -747,8 +747,8 @@ other stats command. | | bool | Split LRU mode and background threads | | hot_lru_pct | 32 | Pct of slab memory reserved for HOT LRU | | warm_lru_pct | 32 | Pct of slab memory reserved for WARM LRU | -| expirezero_does_not_evict | -| | bool | If yes, items with 0 exptime cannot evict | +| temp_lru | bool | If yes, items < temporary_ttl use TEMP_LRU | +| temporary_ttl | 32u | Items with TTL < this are marked temporary | | idle_time | 0 | Drop connections that are idle this many | | | | seconds (0 disables) | | watcher_logbuf_size | @@ -792,7 +792,7 @@ number Number of items presently stored in this class. Expired number_hot Number of items presently stored in the HOT LRU. number_warm Number of items presently stored in the WARM LRU. number_cold Number of items presently stored in the COLD LRU. -number_noexp Number of items presently stored in the NOEXP class. +number_temp Number of items presently stored in the TEMPORARY LRU. age Age of the oldest item in the LRU. evicted Number of times an item had to be evicted from the LRU before it expired. |