Настройка производительности индексирования
Если письма поступают быстрее, чем обрабатываются поиском, очередь индексирования растёт и новые письма появляются в результатах с задержкой. Настройка помогает согласовать скорость обработки с ресурсами узлов Клавдия и Solr.
Перед началом
- Проверьте состояние поиска и убедитесь, что Solr доступен.
- Зафиксируйте размер очереди, скорость её изменения, загрузку процессора, память и задержку типичного поиска.
- Сохраните текущие настройки. Меняйте один параметр за раз и сравнивайте одинаковые операции при сопоставимой нагрузке.
Параметры настройки
| Параметр | Где задаётся | По умолчанию | Назначение |
|---|---|---|---|
KLVD_INDEXER_WORKERS |
окружение сервиса klvd-node |
4 |
число параллельных потоков извлечения текста вложений |
index_batch_size |
[Общие настройки] | 100 |
число писем в пакете индексирования; увеличение может снизить накладные расходы, но требует больше памяти. Максимум — 1000 |
SOLR_HEAP |
окружение контейнера Solr | 4096m |
размер памяти JVM Solr |
autoSoftCommit |
конфигурация Solr, SOLR_OPTS |
10 с |
задержка до появления новых документов в поиске; короткий интервал повышает нагрузку на процессор |
ramBufferSizeMB |
конфигурация Solr; способ изменения согласуйте с поставщиком | 512 |
буфер до записи сегмента на диск; влияет на число сегментов и операции слияния |
mergeFactor |
конфигурация Solr; способ изменения согласуйте с поставщиком | 25 |
число сегментов, объединяемых за одну операцию |
Параметры конфигурации Solr меняйте способом, поддерживаемым для вашей поставки. Если требуется другой образ службы поиска, получите готовый образ и порядок его установки у поставщика.
Выберите число потоков и память
| vCPU | KLVD_INDEXER_WORKERS |
SOLR_HEAP |
Применение |
|---|---|---|---|
| 4 | 2 | 2048m |
минимальная конфигурация |
| 8 | 4 | 4096m |
рабочая эксплуатация |
| 16 и больше | 8 | 8192m |
высокая нагрузка и много вложений |
KLVD_INDEXER_WORKERS не должен превышать число vCPU. Дополнительные потоки нагружают и узел Клавдия, и Solr. Размер кучи выбирайте с учётом памяти остальных служб и лимита контейнера.
Для изменения окружения примените конфигурацию сервиса через Docker Compose. Подробная процедура для памяти Solr: Solr: эксплуатационная настройка.
Выберите задержку появления писем в поиске
-
autoSoftCommit1–3 с сокращает ожидание, но чаще обновляет доступный для поиска индекс и повышает нагрузку на процессор. Подходит для небольшого потока, когда важна малая задержка. - 10–15 с снижает нагрузку и подходит для начальной загрузки архива или массового импорта. Новые документы появляются с соответствующей задержкой после индексирования.
После аварийного завершения и восстановления Solr проверьте обработку очереди: оставшиеся непроиндексированными письма должны обрабатываться повторно.
Если памяти Solr недостаточно
Проверьте [JVM Heap] (!) в [Инстансы SolrCloud], паузы сборки мусора и очередь индексирования. Постоянная нехватка памяти при нагрузке — повод пересмотреть SOLR_HEAP по инструкции настройки Solr.
Если увеличить память нельзя, согласуйте уменьшение ramBufferSizeMB. Не увеличивайте параметры только по размеру очереди, пока не исключены недоступность Solr и нехватка ресурсов других компонентов.
Изменение конфигурации индекса
Изменения mergeFactor и ramBufferSizeMB применяются к новым сегментам. Существующий индекс автоматически не перестраивается.
Если для применения согласованной конфигурации ко всему индексу требуется его перестроить:
- Примените конфигурацию или установите готовый образ Solr по инструкции поставщика.
- В согласованное окно обслуживания откройте [Поиск (Solr)] и выполните [Сбросить поиск].
- Выполните [Реиндексировать ВСЁ] и контролируйте очередь задач.
Сброс удаляет поисковый индекс. До операции проверьте доступность данных архива и согласуйте период недоступности полнотекстового поиска. Для одного изменения
SOLR_HEAPсброс и переиндексация не требуются.
Проверьте результат
Сравните скорость уменьшения очереди, загрузку процессора и памяти и время типичного поиска с исходными значениями. При ухудшении верните предыдущие параметры. Переиндексацию проверяйте по очереди задач и доступности тестовых писем в поиске.
Связанные материалы
Навигация по книге
- Следующая статья: Solr: эксплуатационная настройка