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

Обновление сервера БД - SOLR DIH работает медленнее

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

Наш старый сервер представляет собой двухпроцессорную систему с 8 ядрами и 4 ГБ ОЗУ, работает под управлением Win2k3 R2 Standard (32-разрядная версия), MS SQL Server 2005 и SOLR 4.2, работающего на Tomcat 7.0.37, все на Java 6u22. Мы используем драйвер MS SQL JDBC 3.0 для запуска DIH для импорта наших записей в solr. Этот процесс импорта занимает примерно 4,5 часа.

Наш новый сервер представляет собой двухпроцессорную систему с 16 ядрами и 32 ГБ оперативной памяти, работающую под управлением Win2k12 Standard (64-разрядная версия), MS SQL Server 2008 R2 и SOLR 4.2, работающего на Tomcat 7.0.39, все на Java 7u17. Я использовал тот же драйвер MS SQL JDBC 3.0 для запуска DIH. Процесс импорта занял более 8 часов.

В настоящее время я запускаю тест импорта с использованием драйвера MSSQL JDBC 4.0, но если статус соответствует тому, что я вижу сейчас, это также займет 7-8 часов.

Может ли кто-нибудь помочь мне выяснить эту аномалию производительности и исправить ее? В идеале я бы ожидал, что процесс импорта сократится (у сервера больше ресурсов, поэтому он должен), но я бы согласился на такую ​​же скорость.

Спасибо.

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

Решил переделать весь процесс. Я решил, что лучше будет импортировать предварительно обработанные файлы, чем выполнять индивидуальные подзапросы. Итак, я создал хранимую процедуру для bcp, чтобы использовать ее для экспорта всего, что мне было нужно, в виде файла XML в формате, готовом для импорта с включенным useSolrAddSchema.

Экспорт bcp занимает примерно 20 минут, а для dih с использованием FileDataSource требуется еще 5.

Так что в итоге я доволен своим ростом производительности. Они начали с 10+ часов на Solr 1.3 на нашем старом сервере, с обновлением до Sol 4.2 я смог сократить его до 4,5 часов, а теперь с новым сервером он сократился примерно до 25 минут. Я бы назвал это пока победой.