Разработчики ПО для высоконагруженных сайтов научили решение сохранять кэш при перезагрузке системы

Разработчики ПО для высоконагруженных сайтов научили решение сохранять кэш при перезагрузке системы
09.10.2019
11103

Разработчики выпустили несколько новых версий Memcached 1.5.18 и 1.5.19 – программный комплекс позволяет кэшировать информацию в оперативной памяти. ПО актуально для сайтов с высокой нагрузкой.

Главная «фишка» версии 1.5.18 – сохранение содержимого кэша при перезагрузке системы. В 1.5.19 расширили текстовый протокол по умолчанию.

Что такое Memcached

Memcached – высокопроизводительная система хранения данных в оперативной памяти сервера. Систему разработали создатели LiveJournal для собственных нужд. Решение повышает скорость загрузки сайтов и оптимизирует их производительность. Memcached можно использовать в случае повышенной нагрузки на основную СУБД и дисковую подсистему.

Основа программы – хеш-таблица с парами «ключ-значение». Данные из хеш-таблиц позволяют моментально определять сервер, на котором хранится информация. А значит, быстрее находить данные в кэше и извлекать их.

Сервис написан на С и является кроссплатформенным. Клиентские библиотеки ПО есть для C/C++, Python, Java, Perl, Ruby, PHP, .Net. Код Memcached распространяется под лицензией BSD.

Сохранение кэша после перезапуска

В Memcached 1.5.18 разработчики добавили так называемый «теплый кэш». Теперь содержимое кэша сохраняется между перезапусками сервиса.

Memcached 1.5.18 избавляет от появления пиков нагрузки из-за пустого серверного кэша. Когда приложение стартует, оно извлекает содержимое кэша из сохраненной копии и использует его в работе. Сайт не тратит время на сбор коллекции данных, его производительность повышается, растет стабильность доступа.

Разработчики подчеркнули: пока «теплый кэш» – экспериментальная функция, и его стоит использовать осторожно. Они также призвали делиться отзывами о новой функции, чтобы улучшить продукт.

Поддержка устройств постоянной памяти

Начиная с Memcached 1.5.18, для кэширования данных можно использовать не только оперативную, но и постоянную память (persistent-memory, например NVDIMM) через их монтирование с использованием DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств).

Хеш-таблица с парами «ключ-значение», записи о соединениях и другая информация по-прежнему будут храниться в оперативной памяти. До перезагрузки эти данные копируются в файл .mmap.

После перезапуска Memcached данные извлекаются из .mmap-файла в оперативную память. Демон исправляет внутренние указатели и восстанавливает хэш-таблицу. Для небольших сайтов это занимает несколько секунд. Но если у вас в памяти около миллиарда элементов, то готовьтесь подождать 2-3 минуты.

«Теплый кеш» помогает, даже если приложение аварийно перезагрузится. Так как основной массив данных сохранится в .mmap-файле, потеряются только самые свежие данные, а значит, сайты будут загружаться быстрее.

Расширение текстового протокола

В Memcached 1.5.19 появился дополнительный набор метакоманд в текстовом протоколе, доступном по умолчанию. Добавили преимущественно функции, которые раньше работали только для бинарного протокола.

Метакоманды также стоит считать экспериментальными. По крайней мере, в нескольких следующих релизах.

Чем это может быть полезно в 1С

На Инфостарте можно найти решения, использующие Memcached для более быстрого получения данных из 1С через протокол XML-RPC (для 7.7 и 1С++) и через протокол OData (для 8.3).

В частности, решение «PHP-драйвер к OData-интерфейсу 8.3» активно развивается на GitHub, и позволяет кэшировать данные из 1С для интеграции с сайтами, использующими в качестве СУБД PostgreSQL, MSSQL и MySQL.
 

Подробное описание новых версий проекта Memcached на GitHub

Автор:
Обозреватель

См. также

Google будет бороться с потенциально небезопасной загрузкой файлов в браузере Chrome. Разработчики опубликовали планы по постепенному блокированию небезопасных загрузок по HTTP, начатых на защищенных HTTPS-страницах.

20.02.2020    13777    user1015646    13       

1

Google заявил, что к 2022 году Chrome перестанет принимать сторонние cookie-файлы. Попробуем выяснить, кому и чем это грозит.

17.02.2020    16334    SKravchenko    0       

1

Разработчики Chrome заявили о постепенном отключении возможности загрузки смешанного трафика в их браузере.

17.10.2019    15884    Senator_I    2       

5

Координационный центр (КЦ)  доменов .RU/.РФ вместе с регистратором Ru-Center протестировали систему регистрации доменов через Единую систему идентификации и аутентификации (ЕСИА). Такая методика освобождает регистратор от потребности в проверке данных пользователей

14.10.2019    19290    user-programmist    9       

4

Комментарии

Инфостарт бот
1. VmvLer 09.10.19 18:00 Сейчас в теме
Перевел заголовок в свое понимание
Разработчики ПО для высоконагруженных сайтов создали механизм сохранения кэша при перезагрузке системы


ну а чо, хорошая станция сейчас от 32 гиг ОП, так что можно толкать туда кеши - вдруг никто и не заметит или поставят 128 гиг.
2. IssakN 10.10.19 09:18 Сейчас в теме
Демон исправляет внутренние указатели и восстанавливает хэш-таблицу

Просветите что за демон? На моей памяти так называли daemon tools.
3. A_Max 10.10.19 09:26 Сейчас в теме
(2) Термин из юникс систем ="Сервис".
4. IssakN 10.10.19 09:27 Сейчас в теме
(3)Благодарю. Век живи - век учись.
5. Chai Nic 10.10.19 16:47 Сейчас в теме
В экосистеме 1с8 подобный "теплый кэш", сохраняемый между перезапусками, пользуется очень нехорошей репутацией из-за отсутствия контроля его целостности и когерентности.. в результате "очистка кэша" стала действием номер 1 при глюках.

Оставьте свое сообщение