The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от opennews (??) on 21-Дек-17, 23:09 
Подготовлен (https://github.com/memcached/memcached/releases/tag/1.5.4) релиз системы кеширования данных в оперативной памяти Memcached 1.5.4 (http://memcached.org/), оперирующей данными в формате ключ/значение и отличающейся простотой использования. Memcached обычно применяется как легковесное решение для ускорения работы высоконагруженных сайтов путём кэширование доступа к СУБД и промежуточным данным. Код поставляется (https://github.com/memcached/memcached) под лицензией BSD.


Новая версия интересна добавлением прослойки (https://github.com/memcached/memcached/wiki/Extstore) для работы с внешними хранилищами, позволяющая использовать SSD/Flash-накопители для расширения размера кэша. Как и при использовании оперативной памяти, хранилище на Flash не является постоянным и сбрасывается при перезапуске. В качестве области применения нового режима называется обеспечения эффективного кэширования данных большого размера.


Суть нового метода заключается в том, что ключи и метаданные, как и раньше, хранится только в оперативной памяти. Если связанные с ключом данные небольшого размера, то Memcached работает как обычно, держит данные в памяти и не обращается к внешнему хранилищу. Но если данные больше определённого значения, они сохраняются во внешнее хранилище, а в ОЗУ остаётся только указатель. Если свободной памяти много, то наиболее востребованные данные дополнительно могут полностью находиться в кэше в оперативной памяти (например можно указать, чтобы на Flash сбрасывались только объекты больше 1024 байт, к которым не было обращений 3600 секунд").


Основной упор делается на обеспечении максимальной производительности и минимальной нагрузки на CPU, в ущерб эффективности хранения и потери данных после перезапуска. В лучшем случае из-за фрагментации эффективность использования  выделенного постоянного хранилища составляет 80-90%. Для снижения фрагментации применяется технология уплотнения страниц памяти в хранилище. Для продления ресурса Flash-накопителей данные буферизируются и сбрасываются в хранилище последовательно. Для обработки ввода/вывода используется пул потоков, сбрасывающих данные в асинхронном режиме.


Возможность пока остаётся экспериментальной, но отмечается как достаточно стабильная и хорошо протестированная. Например, новый режим уже используется компанией Netflix в своей основной инфраструктуре. Для включения внешнего хранилища следует использовать опцию "-o ext_path=/mnt/somefile,ext_page_count=100" (где /mnt/somefile файл с БД, а 100 - число страниц хранения по  64 Мб каждая), предварительно собрав memcached с указанием  "./configure --enable-extstore".


URL: https://github.com/memcached/memcached/releases/tag/1.5.4
Новость: https://www.opennet.ru/opennews/art.shtml?num=47783

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –3 +/
Сообщение от username (??) on 21-Дек-17, 23:09 
Оно живо. Ты смотри.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +2 +/
Сообщение от Аноним (??) on 22-Дек-17, 09:29 
Иногда главное вовремя остановиться! Memcached отличный, полностью завершенный продукт, а фичеразвитие для него - это скорее плохо, чем хорошо!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от Crazy Alex (ok) on 21-Дек-17, 23:09 
Не пойму, а какая религия им помешала сделать персистентность? На тех же условиях, что и сейчас - без гарантий, если вам не повезло - то кэш умер, как всегда с мемкешом и было? По идее, для этого же вообще ничего не нужно?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +3 +/
Сообщение от Аноним (??) on 21-Дек-17, 23:19 
Лишние несколько байт на сохранение ключа вместе с данными на постоянном носителе конечно не жалко, но для синхронизации состояния, какие ключи актуальны, а какие нет, пришлось бы заметно усложнить всю архитектуру. Сейчас вся логика в ОЗУ, а на Flash только голые данные без информации об их актуальности.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +2 +/
Сообщение от Аноним (??) on 21-Дек-17, 23:26 
Но я бы всё же сделал, что-то типа CoW - кроме ключа сохранял бы время записи, а при запуске предусмотрел бы режим восстановления, оставляя самые свежие ключи при наличии дубликатов остающихся после перезаписи значений ключа.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от ыы on 21-Дек-17, 23:38 
зачем?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 21-Дек-17, 23:54 
Чтобы кэш тёплым после перезапуска оставался.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

26. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +1 +/
Сообщение от ыы on 22-Дек-17, 08:53 
> Чтобы кэш тёплым после перезапуска оставался.

После перезапуска с какой целью и с каким временем простоя?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

36. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 22-Дек-17, 09:56 
> После перезапуска с какой целью и с каким временем простоя?

Например, могут динамически генерироваться картинки/видео/звук. При полном сбросе кэша будет огромный провал в производительности и повышенная нагрузка пока кэш не наполнится. По поводу простоя, если будет сохранено время создания, то при загрузке можно отсеивать по времени жизни элемента кэша. Redis для такой задачи не подходит, так как он весь кэш в памяти держит, а другие NoSQL или избыточны (БД, а не кэш) или по производительности не дотягивают.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

37. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от sabakka on 22-Дек-17, 10:47 
если больше трех мемкэш серверов, то проседание производительности будет незначительным, вероятнее всего, вот и ответ кому и зачем такая архитектура нужна.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

43. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от J.L. on 22-Дек-17, 15:15 
> если больше трех мемкэш серверов, то проседание производительности будет незначительным,
> вероятнее всего, вот и ответ кому и зачем такая архитектура нужна.

я правильно понимаю что мемкешед можно держать на двух нодах с разным содержимым - рейд0, но перед рестартом ноды Б можно перевести обе ноды А и Б в рейд1 и содержимое станет одинаковое (выкинув то, что не влезло, но оставив самое актуальное) ?
выключить Б
перевести А в рейд0
включить Б и ввести в рейд0
так можно делать ?

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

18. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +3 +/
Сообщение от KonstantinB (ok) on 22-Дек-17, 02:31 
Вопрос в том, как реализовать дамп без блокировок.

В архитектуре мемкеша нет никаких блокировок, кроме глобальной (окей, когда в фейсбуке добавляли мульттредовость, еще сделали локи бакетов - но это непринципиально, бакеты все равно огромные).

В такой ситуации единственный способ сдампиться - поступить так же, как делает Redis - тупо форкнуться. Однако здесь возникает проблема. Memcached преимущественно используется в очень высоконагруженных системах с огромным размером кэша - часто это выделенный сервер, в котором почти вся оперативка отведена под memcached. Пока все эти десятки гигабайтов запишутся на диск, произойдет куча запросов к мемкешу, в том числе и на запись, сработает линуксовый copy-on-write, и в результате задолго до того, как мы успеем все скинуть на диск, оперативка закончится и OOM killer кого-нибудь тупо прибьет.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

24. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –3 +/
Сообщение от Аноним (??) on 22-Дек-17, 08:19 
приличная хранилка имеет скорость 10-15 Gbyte/s сервак с 256G-512G  - запишет свою память менее чем за минуту.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от ыы on 22-Дек-17, 08:30 
>10-15 Gbyte/s
>запишет свою память

вы имеете в виду скорость записи на диск?

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

30. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +1 +/
Сообщение от Роман (??) on 22-Дек-17, 09:07 
> Вопрос в том, как реализовать дамп без блокировок.

Тарантул делает дамп без блокировок и без форка.

> В архитектуре мемкеша нет никаких блокировок, кроме глобальной (окей, когда в фейсбуке
> добавляли мульттредовость, еще сделали локи бакетов - но это непринципиально, бакеты
> все равно огромные).
> В такой ситуации единственный способ сдампиться - поступить так же, как делает

Не единственный, можно mvcc в памяти сделать.

> Redis - тупо форкнуться. Однако здесь возникает проблема. Memcached преимущественно используется
> в очень высоконагруженных системах с огромным размером кэша - часто это
> выделенный сервер, в котором почти вся оперативка отведена под memcached. Пока
> все эти десятки гигабайтов запишутся на диск, произойдет куча запросов к
> мемкешу, в том числе и на запись, сработает линуксовый copy-on-write, и
> в результате задолго до того, как мы успеем все скинуть на
> диск, оперативка закончится и OOM killer кого-нибудь тупо прибьет.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

46. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 24-Дек-17, 04:04 
Ну, сравнили. Тарантул - это хоть и специфичная, но вполне полноценная субд-версионник. А в мемкеше главная ценность именно в том, что он настолько прост, что все операции имеют сложность О(1).

Тарантул и мемкеш не конкуренты, у них разное назначение.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

9. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от Аноним (??) on 22-Дек-17, 00:38 
вот и началась стираться граница между озу и диском.
интересно, когда на компах ползунком в гуи или параметром в конфиге можно будет задавать - сколько отвести под память, а сколько под перманент сторадж?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от VINRARUS (ok) on 22-Дек-17, 00:47 
Вообще то это началось с добавлением кэша диска в неиспользуюмую оперативку под управлением Linux.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –2 +/
Сообщение от Аноним (??) on 22-Дек-17, 00:49 
Надеюсь никогда, ибо ненужно. Для для машины с быстрой энергонезависимой памятью можно будет отказаться от этих двух абстракций и существенно упростить архитектуру ОС. Концепты уже давно существуют.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

40. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 22-Дек-17, 11:07 
См. #38.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от Avator (ok) on 22-Дек-17, 01:11 
ИМХО я думаю что придёт просто к тому что диск по скорости догонит или почти догонит ОЗУ и просто понятие ОЗУ постепенно отомрёт на обычных ПК.
Останется только на серверах для использования штук типа Memcached.
Это как замена ДВС на электромотор. Всё станет проще и это круто.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

16. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от VINRARUS (ok) on 22-Дек-17, 02:26 
Всё будет ещо проще - появится энергонезависимая ОЗУ. :)
И вот после этого надобность в дисках хранения отпадет, по крайней мере на многих серверах (ну кроме бекапов).
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

19. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от KonstantinB (ok) on 22-Дек-17, 02:40 
Если появится энергонезависимая ОЗУ по цене накопителей, то надобность отпадет очень во многом. Например, в файловой системе. :-) Сериализация-десерализация останется, конечно - для обмена данными между различными приложениями по сети или через IPC - но писать файлы уже не надо - зачем, если можно просто держать в памяти все в естественном виде внутренних структур?
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от letsmac (ok) on 22-Дек-17, 03:18 
> можно просто держать в памяти все в естественном виде внутренних структур?

Ага а резервные копии идиоты придумали. Интересно как в таком идеальном хранилище будет обрабатываться разименование указателя?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

27. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от ыы on 22-Дек-17, 08:56 

> Сериализация-десерализация останется, конечно - для обмена данными между различными приложениями по сети или через IPC

а через IPC нельзя передать просто бинарные данные?


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от letsmac (ok) on 22-Дек-17, 03:17 
> Всё будет ещо проще - появится энергонезависимая ОЗУ. :)
> И вот после этого надобность в дисках хранения отпадет, по крайней мере
> на многих серверах (ну кроме бекапов).

В 80-х Smalltalk таки работал в полностью сохраняющей состояние машине. Но тогда и программисты не на  PHP/javascript писали.  

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

28. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +1 +/
Сообщение от ыы on 22-Дек-17, 09:00 
Иными словами - технология доказала свою неэффективность еще  20+ лет назад
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

29. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от ыы on 22-Дек-17, 09:06 
А вот например Ерланг, тоже кстати не молодой, построенный на прямо противоположной идее - что состояние машины сохранять ненадо а надо ее почаще перезапускать - жив.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

45. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 23-Дек-17, 18:10 
Не успела доказать — упёрлась в технические ограничения в виде слишком медленных ПЗУ.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

39. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от Аноним (??) on 22-Дек-17, 11:07 
См. #38
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

41. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 22-Дек-17, 11:09 
Физику в школу учить, диск физически не может, т.к. скорость света в нашу вселенную слишком маленькую завезли...
Как думаете почему планки памяти вокруг проца ставят ? :)
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

38. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 22-Дек-17, 11:05 
Гуглите "память на мемристорах" и HP The Machine.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

31. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Роман (??) on 22-Дек-17, 09:09 
.


> Суть нового метода заключается в том, что ключи и метаданные, как и
> раньше, хранится только в оперативной памяти. Если связанные с ключом данные
> небольшого размера, то Memcached работает как обычно, держит данные в памяти
> и не обращается к внешнему хранилищу. Но если данные больше определённого
> значения, они сохраняются во внешнее хранилище, а в ОЗУ остаётся только
> указатель. Если свободной памяти много, то наиболее востребованные данные дополнительно
> могут полностью находиться в кэше в оперативной памяти (например можно указать,
> чтобы на Flash сбрасывались только объекты больше 1024 байт, к которым
> не было обращений 3600 секунд").

Не понятно зачем нужна данная фича, если тот же Тарантул уже лет восемь как умеет хранить данные в памяти, но при этом они персистетны на диске. Таким образом, решается проблема старта с холодном кешом. К тому же, тарантул - это СУБД и имеет таблицы, транзакции, репликацию и прочее, тогда как мешкеш тупо 'кеш."

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  –1 +/
Сообщение от ыы on 22-Дек-17, 09:18 
Не понятно зачем нужен Тарантул , ведь есть Oracle который покруче Тарантула, и тоже умеет хранить данные в памяти.


Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от ыы on 22-Дек-17, 09:23 
> Таким образом, решается проблема старта с холодном кешом.

Вы бы не могли более подробно рассказать об этой проблеме в контексте веб-приложения... Очень любопытно..
Что именно видит на экране юзер, пока вы.. эээ "стартуете с горячим кэшом"?

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

42. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Аноним (??) on 22-Дек-17, 14:36 
Вашими же словами:
> мешкеш тупо 'кеш."
> Не понятно зачем нужна данная фича

перечитайте новость. когда хранить хочется "чуточку больше", чем есть денег на оперативку.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

35. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от Inv on 22-Дек-17, 09:55 
Ждем интеграции с systemd
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Релиз Memcached 1.5.4 с поддержкой кэша на SSD-накопителях"  +/
Сообщение от anonymous (??) on 28-Дек-17, 13:11 
ждем смерти systemd
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру