Какие полезные советы/инструменты для мониторинга/настройки работоспособности memcached?

Вчера я нашел этот классный script 'memcache-top', который красиво выводит статистику о жизни в memcached. Похоже,

memcache-top v0.6       (default port: 11211, color: on, refresh: 3 seconds)

INSTANCE                USAGE   HIT %   CONN    TIME    EVICT/s READ/s  WRITE/s
127.0.0.1:11211         88.8%   94.8%   20      0.8ms   9.0     311.3K  162.8K

AVERAGE:                88.8%   94.8%   20      0.8ms   9.0     311.3K  162.8K

TOTAL:          1.8GB/  2.0GB           20      0.8ms   9.0     311.3K  162.8K
(ctrl-c to quit.)

он даже делает определенный текст красным, когда вы должны обратить внимание на что-то!

Q. В целом, какие полезные инструменты/методы, которые вы использовали для проверки того, что memcached настроен хорошо?

Ответ 1

Хороший интерфейс для доступа к экземплярам сервера Memcached - phpMemCacheAdmin.

Я предпочитаю доступ из командной строки с помощью telnet.

Чтобы выполнить подключение к Memcached с помощью Telnet, используйте следующую команду telnet localhost 11211 из командной строки.

Если вы в любой момент хотите завершить сеанс Telnet, просто введите quit и нажмите return.

Вы можете получить обзор важной статистики вашего сервера Memcached, выполнив команду stats после подключения.

Память распределяется внутри кусков внутри и постоянно используется повторно. Так как память разбита на плиты разного размера, вы теряете память, если ваши элементы не идеально вписываются в панель, которую сервер решает поставить.

Таким образом, Memcached автоматически выделяет ваши данные на разные "плиты" (думают об этом как разделы) памяти, основываясь на размере ваших данных, что, в свою очередь, делает распределение памяти более оптимальным.

Чтобы перечислить плиты в экземпляре, к которому вы подключены, используйте команду stats slab.

Более полезной командой является stats items, которая предоставит вам список слябов, который включает в себя количество хранимых элементов в каждой панели.

Теперь, когда вы знаете, как перечислять плиты, вы можете просматривать внутри каждой панели, чтобы перечислять элементы, содержащиеся внутри, с помощью команды stats cachedump [slab ID] [number of items, 0 for all items].

Если вы хотите получить фактическое значение этого элемента, вы можете использовать команду get [key].

Чтобы удалить элемент из кеша, вы можете использовать команду delete [key].

Ответ 2

Для производственных систем вы должны действительно настроить активный мониторинг (с предупреждениями о простоях, автоматическими перезагрузками и т.д.) Memcache, используя что-то вроде Monit. Вот пример config: Мониторинг Memcache с Monit