Производительность индексирования SOLR: обработка 2,3 тыс. Документов / с - PullRequest
5 голосов
/ 02 мая 2019

Я пытаюсь улучшить производительность моего индекса Solr 6.0.

Первоначально мы индексировали 45-метровые строки, которые использовали оператор выбора, соединяющий 7 таблиц, и на индексацию уходило более 7 часов.Это заставило нас получить снимок слишком старой ошибки, пока соединение jdbc открыто в течение всего периода индексации.Причиной сбоя нашего полного индекса.

Нам удалось заархивировать около 10 млн строк и построить внешнюю таблицу из первоначального выбора из 7 соединений.Это упростило использование Solr запросов, поэтому выбор * из 1 таблицы.

Теперь индексируем 35-метровые строки, используя Select * from ONE_BIG_ External -TABLE, и это занимает ~ 4-5 часов@ 2,3 тыс. Документов / с + -250.Поскольку мы используем внешнюю таблицу, нам не следует слишком быстро снимать снимок из-за стека UNDO.

У нас есть 77 столбцов, которые мы индексируем.

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

Ссылка на SolrPerformanceFactors Я пробовал:

  • Размеры партии:
    1. 2000 - без изменений
    2. 6000 - без изменений
    3. 4000 - без изменений

Пример:

 <dataSource jndiName="xxxxxx batchSize="2000" type="JdbcDataSource"/>
  • Autocommit:
    1. Каждый 1 час- без изменений
  • MergeFactor:
    1. 20 против 10 по умолчанию - сбросить 20 минут
  • Индексированные поля:
    1. Вырежьте 11 проиндексированных полей - ничего

РЕДАКТИРОВАТЬ: Добавление некоторой информации по вопросам ниже.Я делал авто-коммиты каждый час, который не помог никому.Также мягкий коммит каждую секунду.Я скопировал гораздо меньшее ядро ​​solr, которое у нас здесь, с этими параметрами, и они сказали, что они работают хорошо.

    <autoCommit> 
      <maxTime>3600000</maxTime> 
      <openSearcher>false</openSearcher> 
    </autoCommit>


    <autoSoftCommit> 
      <maxTime>1000</maxTime> 
    </autoSoftCommit>

Есть ли какие-то ошибки, которые я пропускаю, кроме броска оборудования на это?Дайте мне знать, если вам нужно больше информации, я постараюсь отвечать на вопросы так хорошо, как мне позволено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...