Назад |
Перейти на главную страницу
Есть ли для Linux дисковая файловая система с выделенным кэшированием памяти?
У нас есть два (а иногда и больше) приложения, которые борются за кеш страницы ОС. В частности, ElasticSearch очень зависит от кеша страницы ОС. До такой степени, что промахи в кеше могут повлиять на производительность в случаях с низкой задержкой. ES - единственное приложение с низкой задержкой на узлах, поэтому оно потребности кеш страницы ОС. Поскольку весь индекс не помещается в ОЗУ, подогреватели используются для заполнения кеша, но через несколько часов эти кеши удаляются другими приложениями.
Некоторые мысли и идеи у меня были:
- RAMFS (но индекс не помещается в оперативную память, поэтому не ходите туда)
- TMPFS (но он не сохраняется после перезагрузки и использует подкачку)
- Кеширование на уровне Lucene / ES (похоже, просто не существует, кеш страницы ОС является их стратегия кеширования)
- Выделенное оборудование (это будет трудно оправдать, поскольку на машине много ОЗУ и ЦП, просто нужно лучше их использовать; плюс нам понадобится много узлов).
- VMTouch с блокировкой (нет возможности действительно определить, когда ES собирается объединить новые сегменты и ему нужно разблокировать старые файлы и сопоставить новые)
- Полная виртуальная машина (стоимость производительности и дополнительное администрирование / управление)
Выделенная файловая система, которая могла бы выделить заранее определенный кусок ОЗУ для кэширования, была бы идеальной. Но на данный момент я открыт для чего угодно, кроме покупки выделенных узлов из-за конструктивных ограничений в ES / Lucene.