3. Migration Performance

    Migration performance can be impacted by network infrastructure, file size, migration time, and throttling. Understanding these will help you better plan and maximize the efficiency of your migrations.

    Migration Throughput

    SharePoint Online Migration Throughput

    Generally, a reasonable migration speed is 2 GB/hour/mapping. The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel.

    OneDrive Migration Throughput

    Generally, a reasonable migration speed is 4 GB/hour/mapping. The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel.

    Exchange Online Migration Throughput

    Generally, a reasonable migration speed is 1 GB/hour/mapping. The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel. 

    Microsoft Teams Migration Throughput

    Conversations can be migrated as post messages or HTML files. The following throughput shows the speed at which conversations are migrated as post messages. If you want a higher speed, you can migrate the conversations that are sent earlier as HTML files.

    - If the destination connection has an app profile and the destination Teams are newly created during the migration, a reasonable Teams migration speed is 5000 messages/hour/mapping. - If the destination connection does not have an app profile or the destination Teams already exist before the migration, a reasonable Teams migration speed is 1200 messages/hour/mapping.

    The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel.

    Microsoft Teams Chat Migration Throughput

    Generally, the average migration rate of chat messages ranges from 1000/hour/mapping to 4000/hour/mapping, depending on your tenant's performance. The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel.

    There are many factors which may affect the migration performance:

    - The above throughput number is for the full migration. Generally, it may be lower for the incremental migration since Fly needs to spend quite some time checking the migrated items’ status for the incremental migration. - The above results are only ideal values after many tests. Migration speed of different tenants may be different. We recommend that you estimate the daily throughput in the same way as the results of the pilot job. - If your Planner is particularly large, the overall migration speed may be slowed down.

    If a higher throughput is required, you can use different source and destination service accounts for different projects.

    Microsoft 365 and Office 365 Throttling

    Microsoft 365 and Office 365 use various throttling mechanisms to help ensure security and service availability. The following types of throttling can affect the migration performance:

    TypeDescriptionBest Practice
    User throttlingUser throttling is the most restrictive throttling method in Microsoft 365 and Office 365. Since user throttling is set up to work against an individual end user, any application-level usage will easily exceed the throttling policy and result in slower data migration.Connect to your tenant using the app profile authentication rather than a service account.
    Resource health-based throttlingResource health-based throttling is the least aggressive throttling method. It occurs to prevent a service availability issue that can affect end users and critical service operations. Throttling is implemented to ensure the best user experience and reliability of SharePoint. It is primarily used to load balance the database and can occur if you misconfigure migration settings, such as migrating all your content in a single task or attempting to migrate during peak hours.Run the migration during off-peak hours.