Performance tips
Guide to optimizing the performance of data migration from Sitecore 8.2 to later versions of Sitecore.
This section contains recommendations on how to speed up the process of migrating data from Sitecore 8.2 (MongoDB based xDB) to Sitecore 9.x – 10.0 (xConnect).
Add the following indexes to the MongoDB database in order to increase how fast data can be read from MongoDB.
db.getCollection('Devices').createIndex({LastKnownContactId:1})
db.getCollection('Interactions').createIndex({ContactId:1})
For more information on indexes in MongoDB, please refer to the official MongoDB documentation.
You can run migration in a number of parallel threads to speed up processing.
We recommend that you use at least 4 threads. To determine the optimal number of threads, measure performance on the target system. The optimal number of threads depends on the number of CPUs on the content management instance running the migration process, and on the performance of the xConnect database.
Note
A high number of threads can slow down processing, if your xConnect installation is unable to handle a large number of requests in parallel.
To adjust the number of parallel threads:
In the content editor, navigate to
<tenant>/Pipelines/MongoDB Contacts to xConnect Migration Pipelines/Read Contacts from MongoDB Pipeline/Iterate MongoDB Contacts and Run Pipelines
.In the Max Thread Count field, enter the number of threads you want to use.
By default, the xConnect collection database is set to retain 5 days of data. SQL Server uses a hidden database to store this data. This hidden database continues to grow, which puts more and more load on SQL Server.
There are a number of options you can use to optimize this data retention. They are described here.
The IIS application pool that is used on your content management server has some settings that can influence performance. To improve performance, you can:
prevent IIS from timing out requests
prevent the IIS application pool from automatically recycling.