Solr 1.4 отлично справляется с индексированием на выделенном физическом сервере (Windows Server 2008). Для индексации около 1 миллиона полнотекстовых документов (размером около 4 ГБ) требуется около 20 минут с размером кучи = 512 МБ - 1 ГБ и 4 ГБ ОЗУ.
Однако при использовании Solr на виртуальной машине с 4 ГБ ОЗУ первое время заняло 50 минут для индексации. Обратите внимание, что нет сетевых задержек и проблем с оперативной памятью. Теперь, когда я увеличил ОЗУ до 8 ГБ и увеличил размер кучи, время индексации увеличилось до 2 часов. Это было действительно странно. Обратите внимание, что кроме SQL Server не выполняется ни один другой процесс. Нет никаких сетевых задержек. Однако я не проверил наличие файлового ввода-вывода. Это может быть узким местом? Есть ли у Solr какие-либо проблемы в среде виртуализации?
Сегодня я прочитал статью Брайана и Гарри: «О ВРЕМЕНИ ОТВЕТА ДВИГАТЕЛЯ SOLR SEARCH В ВИРТУАЛИЗИРОВАННОЙ СРЕДЕ», и они утверждают, что производительность ухудшается при увеличении ОЗУ, когда Solr работает на ВМ, но это при уважение времени запроса, а не время индексации.
Я немного озадачен тем, почему на ВМ потребовалось больше времени, когда я повторил тот же тест во второй раз с увеличенным размером кучи и оперативной памятью.