Назад | Перейти на главную страницу

Tomcat7 / Solr дает сбой при "мгновенной" загрузке?

Я новичок в solr, и я тестирую нашу установку, чтобы увидеть, с чем мы можем справиться. Я использую Solrmeter, и моя проблема немного странная:

Как будто ему нужно время нарастить? Кроме того, я заметил (независимо от разгона), что моя установка не может обрабатывать 12000 об / мин. Реакция на скорости 12 км / мин такая же, как если бы я бежал со скоростью 8 км / мин без увеличения. Следует отметить, что только сегмент, на который указывает solrmeter, перестает отвечать. Другой осколок без происшествий гудит.

Настройка (все в AWS):

Подавляющее большинство моей конфигурации solr / tomcat7 по умолчанию взяты из примера ubuntu packages / solr. Вот конфиги и конец файла catalina.out: https://gist.github.com/anonymous/ef8fa79ecc1673d11bc0

Я перенаправил консоль solrmeter (stderr и stdout) в файл. Это большой журнал (67Мб): https://docs.google.com/file/d/0BwPYmFCfmBYsU1hDWjlkUGdGTlU/edit?usp=sharing

Мой главный вопрос состоит из двух частей:

  1. Это нормальное поведение для кота (просто перестать отвечать полностью), когда он перегружен? И единственный вариант - перезапустить?
  2. Почему он справляется лучше, если я задаю ему меньшее количество запросов, а затем увеличиваю его? Меня беспокоит, что если мне придется перезапустить сервер в кластере, и он будет брошен в пул машин, все взорвется.

Когда tomcat заморожен, вы можете запускать 2-3 дампа потоков с интервалом 2-3 минуты. Вы можете проанализировать их и выяснить, что делает кот.

Ты можешь использовать jvisualvm который поставляется с JDK, чтобы увидеть, не слишком ли много использования кучи, а также для получения дампов потоков.

Решением этой проблемы стал maxThreads на коннекторе. Увеличение этого числа до гораздо большего числа (10000), чем значение по умолчанию (200), позволило Solr (и Tomcat) намного лучше справляться с «мгновенной» нагрузкой.