Привет уважаемые.
Давно не заглядывал, все в делах.
Итак по порядку вопросы к знающим:
1. основной вопрос: по каким критериям определять, что мемкеш-ноде уже хватит, и нужно вводить еще одну?
Мысли:
Used 8.0 GBytes
Total 8.0 GBytes
Wasted 1000.4 MBytes
Не нашел толкового рассказа, что такое Wasted, и как оно работает..
Далее:
STAT limit_maxbytes 8589934592
STAT bytes 7512504360
STAT curr_items 3162673
STAT total_items 62955796
STAT evictions 283636
STAT reclaimed 7543436
2. На сколько я понимаю, то memcache из памяти ничего сам не удаляет, а удаляет только если итем прослоченый, и нужно место для новых SET-ов.
Так появляются evictions.
2.1. Но они на сколько я понял могут появляться из-за распределения слабов, т.е. даже при наличии свободной памяти, но если заняты все слабы подходящего размера, то выпадения из кеша будут только по этим слабам.
Хотя может уже добавили динамическую перестройку слабов?
3. Если ключик валялся в экспайр, но не выпал, и устанавливается клиентом заново, то аля reuse, то так появляются reclaimed.
Все что выше - это мысли, понимание, но не факт что верное.
Если ошибаюсь, поправьте пожалуйста.
Ну и собстно основной вопрос, - по каким критериям определять, что нода уже переполнена?, ведь то, что занята вся память это не означает, что она кончилась, там могут быть давно неактуальные итемы, и мемкеш их просто еще не удалил..
Спасибо
P.S. И еще: пользуется ли кто-то Katama-алгоритмом по рапрседелению ключей по серверам, и какой хеш-алгоритм предпочтительнее?
md5|sha1|tiger|crc|fnv1_32|fnv1_64|fnv1a_32|fnv1a_64|murmur|oneatatime ?