Предварительная загрузка данных в кэш файловой системы
Это продвинутый параметр, детали которого могут измениться в будущем.
По умолчанию Elasticsearch полностью полагается на кэш файловой системы операционной системы для кеширования операций ввода-вывода. Можно установить index.store.preload, чтобы указать операционной системе загрузить содержимое файлов горячих индексов в память при открытии. Этот параметр принимает список расширений файлов, разделенных запятыми: все файлы с расширениями из этого списка будут загружаться при открытии. Это может быть полезно для повышения производительности поиска индекса, особенно при перезапуске хостовой операционной системы, поскольку это приводит к удалению кэша файловой системы. Однако следует иметь в виду, что это может замедлить открытие индексов, так как они будут доступны только после загрузки данных в физическую память.
Этот параметр имеет только режим «лучшего результата» и может вообще не работать в зависимости от типа хранилища и хостовой операционной системы.
Параметр index.store.preload — это статический параметр, который можно установить в config/elasticsearch.yml:
index.store.preload: ["nvd", "dvd"]
или в настройках индекса во время его создания:
PUT /my-index-000001
{
"settings": {
"index.store.preload": ["nvd", "dvd"]
}
} Значение по умолчанию — пустой массив, что означает, что ничего не будет загружаться в кэш файловой системы. Для индексов, которые активно используются в поиске, можно установить ["nvd", "dvd"], что приведет к предзагрузке норм и значений документов в физическую память. Это первые два расширения, на которые следует обратить внимание, поскольку Elasticsearch выполняет произвольный доступ к ним.
Для указания того, что все файлы должны быть предварительно загружены, можно использовать символ подстановки: index.store.preload: ["*"]. Однако, как правило, загружать все файлы в память нецелесообразно, особенно те, что предназначены для хранимых полей и векторов терминов, поэтому лучшим вариантом может быть настройка на ["nvd", "dvd", "tim", "doc", "dim"], что приведет к предварительной загрузке норм, значений документов, словарей терминов, списков ссылок и точек, которые являются наиболее важными частями индекса для поиска и агрегаций.
Обратите внимание, что этот параметр может быть опасным для индексов, размер которых превышает объем оперативной памяти хоста, поскольку он приведет к очистке кэша файловой системы при повторном открытии после больших слияний, что замедлит индексирование и поиск.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/preload-data-to-file-system-cache.html