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

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

09.10.2019     

Разработчики выпустили несколько новых версий 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



Источник: https://infostart.ru/journal/news/tekhnologii/razrabotchiki-po-dlya-vysokonagruzhennykh-saytov-nauchili-reshenie-sokhranyat-kesh-pri-perezagruzke-_1132964/
Автор:
Ксения Шестакова Обозреватель


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


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

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

См. также

Ученые выяснили, как работает мозг программистов при работе с кодом

Новость Наука

Исследовательская группа Хемницкого технологического университета в Германии впервые проанализировала, как работает мозг человека при работе над программным кодом.  

03.07.2020    764    SKravchenko    18       

Apple разрешила разработчикам оспаривать нарушение правил App Store 

Новость Мобильные приложения Новости компаний

Apple пересмотрит процесс взаимодействия с разработчиками, нарушившими правила App Store. Авторы приложений смогут обжаловать решение компании и загружать обновления в магазин, пока идет спор. 

30.06.2020    404    VKuser24342747    0       

Ползет вперёд: Python обогнал Java в рейтинге языков программирования

Новость Языки программирования

JetBrains, крупный разработчик сред для создания кода, представил ежегодный отчет о популярных языках программирования. В рейтинге Developer Ecosystem Survey 2020 язык Python впервые обогнал Java. 

26.06.2020    761    user1015646    3       

Швейцарские ученые создали первый интуитивно понятный язык для квантовых компьютеров

Новость Инновации Языки программирования

Ученые из Высшей технической школы Цюриха (ETH Zurich) разработали язык программирования, который можно использовать для квантовых компьютеров так же легко, надежно и безошибочно, как классические. 

26.06.2020    781    SKravchenko    0       

ABBYY опубликовала исходный код своей библиотеки машинного обучения

Новость Infostart Software Partners Маркет Новости компаний

Компания ABBYY выложила на GitHub исходники своей нейросети, используемой для распознания текста. Программный код открыт под свободной лицензией Apache 2.0.

23.06.2020    1410    VKuser24342747    2       

Лучше поздно… Роскомнадзор прекращает блокировку Telegram

Новость Мессенджеры Роскомнадзор

Новость об отмене блокировки мессенджера появилась на официальном сайте ведомства.

22.06.2020    1404    Senator_I    18       

SpaceX использовал Linux и C, для вывода астронавтов на орбиту

Новость

Ракета Илона Маска Falcon 9, с помощью которой корабль Crew Dragon доставил астронавтов НАСА на Международную космическую станцию, работает на жидком кислороде, ракетном керосине, Linux и C/C++.

19.06.2020    986    SKravchenko    3       

Google избавляется от «расизма» в коде Chrome

Новость Новости компаний

Команда Google Chrome исключает из кода термины «черный список» и «белый список», чтобы сделать их более инклюзивными.

18.06.2020    869    SKravchenko    15       

Представлено ядро Linux 5.7: что нового

Новость Linux

В релиз включили обновленную реализацию файловой системы exFAT, переработанные средства аутентификации и инструменты для создания UDP-туннелей, а также сняли ограничение на длину строки кода в 80 символов.

18.06.2020    755    user1015646    0       

Разработчики получили доступ к созданию навыков для «Маруси»

Новость Новости компаний

Mail.ru Group предоставила возможность сторонним разработчикам создавать собственные голосовые команды для виртуального помощника «Маруся».

17.06.2020    851    VKuser24342747    1       

Microsoft представила бесплатные инструменты для создания ботов

Новость Новости компаний

Компания Microsoft обновила инструменты для создания ботов: Virtual Assistant Accelerator и Bot Framework Composer.

16.06.2020    968    user1015646    0       

Сайт Stack Overflow назвал «самые страшные» и «самые любимые» языки программирования

Новость Языки программирования

2020 год показал, что Rust – «самый любимый», Python – «самый востребованный», а Perl, Scala и Go – «самые высокооплачиваемые» языки программирования.

15.06.2020    989    SKravchenko    3       

Разработчики «Эльбруса» выложили в открытый доступ систему команд процессора

Новость Микроэлектроника

МЦСТ, создающая отечественные «Эльбрус», предоставила всем желающим доступ к набору микропроцессорных команд. Документация распространяется по открытой лицензии. 

08.06.2020    999    VKuser24342747    4       

Создатель Linux высказался за увеличение длины строк кода

Новость Linux

Золотым стандартом для кода ядра Linux считаются 80-символьные строки. Но Торвальдс предлагает увеличить значение до 100 символов.

05.06.2020    2080    user1015646    18       

«Ростех» внедрит в вузах России учебного промышленного робота с исходниками на GitHub

Новость GitHub Робототехника

Госкорпорация «Ростех» создала компактного робота для обучения студентов вузов и колледжей. Исходный код для управления устройством выложен на GitHub, учебные заведения могут дорабатывать его под свои нужды. 

05.06.2020    1492    VKuser24342747    1       

Microsoft призвала пользоваться PowerShell вместо CMD

Новость Infostart Software Partners Маркет Новости компаний

Microsoft порекомендовала пользоваться инструментом PowerShell вместо классического интерпретатора CMD (cmd.exe). Разработчики не будут заниматься доработкой CMD, но оставят его в системе для обеспечения совместимости. 

04.06.2020    2385    user1015646    39       

Из реестра российского ПО могут удалить ОС на ядре Linux

Новость Linux Минкомсвязь

Правила, которыми руководствуется Минкомсвязь, запрещают добавлять в реестр ПО с компонентами, которые распространяются по свободным лицензиям GPL и MPL.

02.06.2020    1247    user1015646    10       

Опубликован релиз платформы Electron 9.0.0 для создания приложений на базе движка Chromium

Новость Linux

Создатели обновления повысили эффективность обработчика событий окна в Linux, улучшили просмотрщик PDF и многое другое.

01.06.2020    1202    SKravchenko    0       

Microsoft планирует объединить UWP и Win32-приложения при помощи проекта Reunion

Новость Новости компаний

Reunion призван объединить платформу разработчиков Windows, которая в настоящее время разбита между Win32 и универсальной платформой Windows (UWP).

29.05.2020    1160    SKravchenko    0       

«Яндекс» запустил бесплатную облачную платформу для разработки нейросетей

Новость Искусственный интеллект Облачные технологии

«Яндекс» запустил новый сервис DataSphere, позволяющий проводить в облаке ресурсоемкие вычисления для машинного обучения. Во время тестирования услуга полностью бесплатна для разработчиков. 

29.05.2020    1532    VKuser24342747    1       

В Беларуси заработал сервис видеоконференций на основе российской облачной платформы

Новость Облачные технологии Стартапы

Сервис видеоконференцсвязи на базе российской облачной платформы IVA MCU запустили в Беларуси. Услуги предоставляет республиканский провайдер облачных услуг beCloud. 

28.05.2020    971    user1015646    0       

Microsoft открыла исходники для 37-летнего языка GW-BASIC

Новость Новости компаний Языки программирования

Microsoft представила исходный код интерпретатора языка программирования GW-BASIC. 37 лет назад он был одним из самых популярных языков для написания программ и игр. 

28.05.2020    1459    VKuser24342747    2       

Создатель Linux отказался от Intel в пользу AMD

Новость Linux Микроэлектроника

Линус Торвальдс стал использовать для работы компьютер на базе процессора AMD. Предыдущие 15 лет он отдавал предпочтение ПК на компонентах Intel. 

27.05.2020    1480    user1015646    9       

Microsoft Build 2020: переход в онлайн и главные анонсы

Новость Infostart Software Partners Маркет Новости компаний

Компания Microsoft на конференции Build 2020 представила не только технологии будущего, но и полезные практические решения, которыми будут пользоваться миллионы людей по всему миру.

26.05.2020    2370    user1015646    1       

Microsoft создаст единую платформу для разработки под Windows

Новость Infostart Software Partners Маркет Новости компаний

Компания представила единую платформу для разработки под Windows, функционал для ответственного использования машинного обучения и другие инструменты для разработчиков. 

25.05.2020    2106    VKuser24342747    3