Memcached хранилище на объект - PullRequest
0 голосов
/ 08 февраля 2012

Как я могу определить, сколько памяти каждый объект использует в memcached? Команда "stats item" кажется самой близкой, но не включает использование. Я думаю о том, чтобы сделать это в Ruby - получить образцы объектов и использовать некоторые измерения памяти для измерения их размера. Но не уверен, насколько точно это будет?

1 Ответ

1 голос
/ 08 февраля 2012

Размер объекта: длина ключа + длина данных + структура данных + строковое поле "flags" + 2 байта.Плюс или минус два байта, так как я вспоминаю это из памяти: P

Обратите внимание, когда я говорю «длина данных», для вас это будет сериализованное значение (marshalled / json'ed / etc) до того, как rails поместитэто в memcached.Если вы знаете ключ, вы можете получить его один раз вручную, чтобы получить длину обратно.

Размер структуры данных можно узнать, выполнив команду "./sizes" из архива memcached после выполнения "make".".

Общее количество байт в системе равно" curr_bytes ", как результат команды" stats ", но это не учитывает очищенные или просроченные элементы, все еще находящиеся в кэше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...