Before implementing the workaround below, ensure that an Exchange throttling policy has been applied to the Exchange migration administrator, as well as end-user mailboxes per the KB 115828: How To: Create an Exchange 2010 Throttling Policy for Migration.
Migrations rate should be between 40 and 80 items per minute. So around 50,000 items should be moved in 24 hours.
1.- Add more hardware resource for the server with CAS role:
- Use 16GB memory and 8 cores.
- Hyperthreading should be disabled.
2.- Another option to improve migration speed for a mailbox is to split the mailbox into several pieces and migrate each piece using a separate migration plan. See below steps to set this up:
2.1.- Approximately estimate the age of messages stored in the mailbox.
2.2.- Split the mailbox life time period into several time intervals.
2.3.- For each time interval create a separate migration plan.
2.4.- Add the mailbox to all of these migration plans.
2.5.- On the Options page of each migration plan specify the time interval:
Note: While using this approach, you should take into account the following:
- Each migration plan should use its own pair of source and target administrative accounts.
- There should be a one-day overlapping between neighbor time intervals to avoid missing data. For instance, if you specified the date range as "from 1/1/2015 until 1/1/2016", it would actually mean that you are covering the time period "from 1/1/2015 0:00 until 12/31/2015 23:59". This is to avoid missing email after migration, you should specify date ranges in a such way that the end date of the previous range coincides the start date of the subsequent range, see sample below:
Plan Year 2014: from 1/1/2014 until 1/1/2015
Plan Year 2015: from 1/1/2015 until 1/1/2016
Plan Year 2016: from 1/1/2016 until 1/1/2017
3.- It’s not recommended to have more than 4 migration plans processing the same mailbox in parallel due to Office365 throttling limitations.