Memcached 1.6.0 поставляется со стабилизацией extstore и обработкой кода для сетей

Анонсирован выпуск новой версии Memcached 1.6.0, которая является распределенной системой общего назначения для кеш-памяти на основе памяти и которая используется для кеширования данных или объектов в ОЗУ, что снижает потребность в доступе к внешнему источнику данных (например, к базе данных или API).

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

Что нового в Memcached 1.6.0?

Новая версия Memcached 1.6.0 стабилизирует реализацию репозитория "extstore", который теперь создается по умолчанию, но требует явной активации при запуске (старые установки будут продолжать работать без обновления после обновления).

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

Extstore позволяет использовать SSD / Flash диски для увеличения размера кеша. Как и в случае с ОЗУ, флэш-память не является постоянной и сбрасывается при перезагрузке.

При использовании "extstore" ключи и метаданные, как и раньше, хранятся только в оперативной памяти, но большое количество данных связанных с ключами, размер которых превышает установленный порог, се хранится во внешнем хранилище, и в ОЗУ остается только указатель.

Если с ключом связаны небольшие данные, Memcached работает как обычно, сохраняет данные в памяти и не обращается к внешнему хранилищу.

Чтобы сохранить состояние кеша между перезапусками, можно использовать возможность сбросить дамп кеша в файл.

Второе серьезное изменение в Memcached 1.6.0 это была обработка кода для сетей, который адаптирован для автоматической обработки пакетных вызовов в рамках одного системного вызова.

Ранее при передаче нескольких команд GET в одном пакете TCP Memcached отправлял результаты с отдельными системными вызовами.

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

Повторное использование сетевой подсистемы также позволило при необходимости переключиться на динамическое выделение буфера вместо статического выделения буфера.

Эта оптимизация снизила потребление памяти в режиме ожидания. новых команд через установленное клиентом соединение размером 4.5 Кбайт на 400-500 байт, а также позволило избавиться от множества вызовов malloc, realloc и free, приводящих к ненужной фрагментации памяти в системах с большим количеством соединений.

Каждый рабочий поток теперь обрабатывает свой собственный пул буферы чтения / записи для активных клиентских подключений. Варианты "-o resp_obj_mem_limit = N«И»-o read_buf_mem_limt = N»Предусмотрены для установки размера этих буферов.

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

Бинарный протокол был заменен новым метапротоколом (текстовая версия протокола с компактными метакомандами), демонстрирующая оптимальное сочетание производительности и надежности. Новый протокол охватывает все операции, ранее доступные через текстовые и двоичные протоколы.

Как установить Memcached 1.6.0 на Ubuntu и производные?

Для тех, кто заинтересован в возможности протестировать этот инструмент, просто откройте терминал и введите его:

sudo apt-get update 
sudo apt-get install php-memcached memcached

Как только для тех, кто предпочитает компиляцию:

wget http://memcached.org/latest
tar -zxvf memcached-1.xxtar.gz
cd memcached-1.xx
./configure && make && make test && sudo make install

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.