Облачная платформаAdvanced

Оптимизация производительности векторного Кластера

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В этой теме объясняется, как оптимизировать производительность CSS векторной базы данных с двух сторон — записи и запроса.

Оптимизация производительности записи

Запись векторных данных создает три основных накладных расхода: синхронизация реплик, обновление индекса и объединение сегментов. Когда индексные данные записываются в реальном времени, частые операции обновления индекса генерируют большое количество небольших сегментов. Это приводит к частому построению и объединению векторного индекса, что потребляет избыточные ресурсы CPU/IO. Вы можете попробовать следующие решения для оптимизации производительности записи.

Оптимизация производительности запросов

На производительность запросов влияют следующие факторы: количество сегментов, механизм ограничения памяти и восстановление полей. Чрезмерно большое количество сегментов снижает эффективность поиска; когда off-heap память становится недостаточной, данные векторного индекса часто выгружаются из памяти и загружаются обратно; восстановление всех полей увеличивает нагрузку во фазе получения. Вы можете оптимизировать производительность запросов, устранив эти факторы.

Настройка тайм‑аута кеша

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

Выполните следующую команду, чтобы установить тайм‑аут кеша:

PUT _cluster/settings
{
"persistent": {
"native.cache.expiry.enabled": "true",
"native.cache.expiry.time": "30m"
}
}
Таблица 1 Описание параметра

Параметр

Тип

Описание

native.cache.expiry.enabled

Boolean

Включать ли автоматическое истечение срока кэша.

Диапазон значений:

  • true: Включить автоматическое истечение срока кэша. Неактивные данные в кэше будут очищены.
  • false (значение по умолчанию): Отключить автоматическое истечение срока кэша.

native.cache.expiry.time

String

Тайм-аут неактивных элементов кэша.

Этот параметр применяется только когда native.cache.expiry.enabled=true.

Значение: строка времени, например, 24h (24 часа) или 30m (30 минут).

Значение по умолчанию: 24h.