В настоящее время передо мной стоит задача импортировать около 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 не было найдено ни одного хита.Так что представьте мое удивление, когда я действительно проверил его и обнаружил, что он улучшает создание / удаление элементов по крайней мере в десять раз!
Следующее, что я посмотрел, было первое, что он в основном предложил создать версию вебКонфигурация, в которой есть только самое необходимое для импорта.Пока что я удалил все события, связанные с созданием, сохранением и удалением элементов и версий.Я также удалил объявления механизма истории и индекса системы из основного элемента базы данных в веб-конфигурации, а также любые пользовательские события, расписания и конфигурации поиска.Я ожидаю, что есть много других вещей, которые я мог бы удалить / отключить, чтобы повысить производительность.Трубопроводы?Графики?
Какие у вас есть советы по оптимизации?