200К предметов на самом деле не представляют проблемы для установки Sitecore, если соблюдаются основные правила. По возможности не более 100 листьев на ветке и тд. Но даже так; если исходная CMS основана на чем-то, что затруднит глубокое ветвление, добавление индекса lucene поверх всего этого позволит Sitecore комфортно перемещаться по структуре; просто избегайте глубоких выражений Sitecore Query для импортируемого контента и старайтесь держаться подальше от XSLT

тоящее время передо мной стоит задача импортировать около 200 тыс. Элементов из пользовательской реализации CMS в Sitecore. Я создал простую страницу импорта, которая подключается к внешней базе данных SQL с помощью Entity Framework, и я создал все необходимые шаблоны данных.

Во время тестового импорта около 5 тыс. Элементов я понял, что мне нужно найти способ ускорить импорт, поэтому я решил найти некоторую информацию об оптимизации Sitecore для этой цели. Я пришел к выводу, что там не так много конкретной информации, поэтому я хотел бы поделиться тем, что я нашел, и предоставить слово другим для дальнейшей оптимизации. Моя цель - создать какой-то режим обслуживания для Sitecore, который можно использовать при импорте больших объемов данных.

Самая полезная информация, которую я нашел, была в блоге Марка Кэссидиhttp://intothecore.cassidy.dk/2009/04/migrating-data-into-sitecore.html, Внизу этого поста он дает несколько советов, когда вы запускаете импорт.

Если вы переносите большие объемы данных, попробуйте отключить как можно больше обработчиков событий Sitecore и все, с чем вы можете справиться.Используйте BulkUpdateContext ()Не забывайте свой целевой языкЕсли можете, сделайте поля общими и неверсированными. Это должно помочь скорости выполнения миграции.

Первым, что я заметил в этом списке, был класс BulkUpdateContext, о котором я никогда не слышал. Я быстро понял, почему в результате поиска на форуме SND и в документации PDF не было найдено ни одного хита. Так что представьте мое удивление, когда я действительно проверил его и обнаружил, что это улучшает создание / удаление элементов по крайней мере в десять раз!

Следующее, на что я обратил внимание, - это первая точка, в которой он в основном предлагает создать версию веб-конфигурации, в которой есть только самые необходимые элементы, необходимые для выполнения импорта. Пока что я удалил все события, связанные с созданием, сохранением и удалением элементов и версий. Я также удалил объявления механизма истории и индекса системы из основного элемента базы данных в веб-конфигурации, а также любые пользовательские события, расписания и конфигурации поиска. Я ожидаю, что есть много других вещей, которые я мог бы удалить / отключить, чтобы повысить производительность. Трубопроводы? Графики?

Какие советы по оптимизации у вас есть?

Ответы на вопрос(2)

Ваш ответ на вопрос