diff options
Diffstat (limited to 'doc/dev/architecture-gc.rst')
-rw-r--r-- | doc/dev/architecture-gc.rst | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/doc/dev/architecture-gc.rst b/doc/dev/architecture-gc.rst index b57c857c..38e8f5b5 100644 --- a/doc/dev/architecture-gc.rst +++ b/doc/dev/architecture-gc.rst @@ -1,12 +1,12 @@ -***************** -``kres-cache-gc`` -***************** +******** +cache-gc +******** -The garbage collector is a simple component which keeps the shared cache from overfilling. -Every second it estimates cache usage and if over 80%, records get deleted in order to free 10%. (Parameters can be configured.) - -The freeing happens in a few passes. First all items are classified by their estimated usefulness, in a simple way based on remaining TTL, type, etc. -From this histogram it's computed which "level of usefulness" will become the threshold, so that roughly the planned total size gets freed. -Then all items are passed to collect the set of keys to delete, and finally the deletion is performed. -As longer transactions can cause issues in LMDB, all passes are split into short batches. +The garbage collector is a simple component that keeps the shared cache from filling up. +Every second it estimates the cache usage and if it is over 80%, it deletes records to free up 10%. +These parameters are configurable. +The freeing happens in a few passes. First all items are classified by their estimated usefulness, in a simple way based on remaining TTL, type, etc. +From this histogram, it's calculated which "level of usefulness" will become the threshold, so that roughly the planned total size will be freed. +Then all items are passed to collect the set of keys to be deleted, and finally the deletion is performed. +Since longer transactions can cause problems in the LMDB cache, all passes are split into short batches. |