I recently built new Exchange 2016 servers for a customer and needed to move all of the users' mailboxes to the new servers. When I initially issued the moved requests, the migrations were running about 10Mbps and only moving about 5 mailboxes at a time. There were about 700 users and 1.5TB of email, so obviously this was going to take a very long time I began researching how to increase the speed of mailbox migrations and found several settings that could be changed. Disabling content indexing allowed the migration to occur between 150Mbps and 200Mbps.
- Disable content indexing on the target database
Set-MailboxDatabase "DatabaseName" -IndexEnabled:$False
- Wait a few minutes for the content index to be disabled.
- Verify content indexing is disabled by running
Get-MailboxDatabaseCopyStatus
- After mailboxes are migrated, the content index will need to be rebuilt
Set-MailboxDatabase "DatabaseName" -IndexEnabled:$True
Invoke-Command -ComputerName GES-EXCH1 {Stop-Service MSExchangeFastSearch; Stop-Service HostControllerService}
- Delete old content index file from mailbox database folder
Invoke-Command -ComputerName GES-EXCH1 {Start-Service MSExchangeFastSearch; Start-Service HostControllerService}
- Verify content indexing is enabled by running
Get-MailboxDatabaseCopyStatus
- Mail will need to be reindexed, so the status will be Crawling
- Change the number of mailboxes that can be migrated at one time
- Edit
C:\Program Files\Microsoft\Exchange Server\V15\Bin\MsExchangeMailboxReplication.exe.config
- Set the
MaxActiveMovesPerSource
andTarget
, andMaxActiveJobsPerSource
andTarget
to desired values - Restart the Microsoft Exchange Mailbox Migration service
- Edit
- Create a new throttling policy
Resource: BitTitan Article - How do I disable the throttling policy on Exchange?