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

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

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

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

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

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

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

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

Setting Cache Timeout

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

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

PUT _cluster/settings
{
"persistent": {
"native.cache.expiry.enabled": "true",
"native.cache.expiry.time": "30m"
}
}
Table 1 Parameter description

Parameter

Type

Description

native.cache.expiry.enabled

Boolean

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

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

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

native.cache.expiry.time

String

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

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

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

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