Memcached предел ломоть

голоса
4

Почему существует предел жёстко кусок (0,5 МОм после сжатия) в Memcached ? Кто - нибудь перекомпилировать их , чтобы до него? Я знаю , что я не должен посылать большие куски , как что вокруг, но эти дополнительные тяжелые глыбы случиться для меня время от времени и нанести ущерб.

Задан 07/08/2008 в 22:31
источник пользователем
На других языках...                            


1 ответов

голоса
4

Этот вопрос имел обыкновение быть в официальном FAQ

Какие ограничения в Memcached я мог бы ударить? (Вайбак машина)

Цитировать:

Простые ограничениями вы, вероятно, увидеть с кэшем являются ключевым и пунктом ограничением размера. Ключи ограничены 250 символами. Сохраненные данные не может превышать 1 мегабайт в размерах, так что самый большой типичный размер горбыль «.

FAQ теперь был пересмотрен и в настоящее время существует два отдельных вопросов, охватывающих это:

Что такое maxiumum длина ключа? (250 байт)

Максимальный размер ключа составляет 250 символов. Обратите внимание, это значение будет меньше, если вы используете клиент «префиксы» или аналогичные функции, так как префикс пришитый переднюю части оригинального ключа. Более короткие ключи, как правило, лучше, так как они сохраняют память и использовать меньшую пропускную способность.

Почему элементы ограничены 1 мегабайт в размере?

Ааа, это популярный вопрос!

Короткий ответ: Из-за того, как работает алгоритм распределитель памяти в.

Длинный ответ: механизм хранения памяти Memcached (который будет подключаемым / отрегулировать в будущем ...), использует слябы подход к управлению памятью. Память разбита на плиты куски различных размеров, начиная с минимальным количеством и возрастанием факторной до наибольшего возможного значения.

Скажем, минимальное значение составляет 400 байт, а максимальное значение равно 1 мегабайта, а факториал составляет 1,20:

сляб 1 - 400 байт плита 2 - 480 байт плита 3 - 576 байт ... и т.д.

Больше плиты, тем больше зазора существует между ней и предыдущей плитой. Таким образом, чем больше максимальное значение, тем меньше эффективность хранения памяти. Memcached также должна предварительно выделить некоторую память для каждой плиты, которая существует, поэтому установка меньшего факториала с большим максимального значением будет требовать еще больше накладных расходов.

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

Если вы действительно хотите , чтобы хранить элементы размера более 1 Мб, вы можете перекомпилировать Memcached с отредактированным slabs.c:POWER_BLOCKзначением, или использовать неэффективный таНос / свободный бэкенд. Другие предложения включают в себя базу данных, MogileFS и т.д.

Ответил 08/08/2008 в 18:37
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more