> Hello, > My company is running several clusters of memcache servers, each with ~ 100GB > ram, running over 40 instances. > Lately, I've looked at the slab statistics for some servers, and saw large > variance in evicted_time between the different > slabs, e.g., some active slabs with ~250s, and others with 270,000s. > This behavior is causing us issues since we cannot predict when an object > will be evicted from the cache. > My questions regards the slab automove feature: > 1. If I understand correctly, automove will move pages from slabs with high > evicted time to slabs with low evicted time, > hence trying to balance the slabs evicted time.Is my understanding correct?
It bases its decisions on the # of evictions over time and tries to even them out. > 2. Whats is the meaning of the "MEMCACHED_SLAB_BULK_CHECK" environment > variable? how does it affect > automove? You can safely ignore this. It's a tuning variable that didn't seem to matter much during bench testing; I was seeing how many items could be cut in one round. > 3. Are there additional args to control automove behavior? You can turn it off entirely an run an external application. There's an example perl program included in the source tarball which also implements the automove algorithm using manual move commands. You can write your own in your own language, and submit ideas upstream that we may include later. -Dormando
