Share via


Analyze the Mailbox Moves Transfer rate per second in Exchange native migration

Assume below scenario:

Performing the mailbox move Pull migration request from the target. The MRS proxy is enabled on the source forest.

The MRS proxy core component of the move requests is responsible for migration.

After initiating the bulk move pull request from target we can check the below things on Exchange 2016 on the target Mailbox Server.

Open Resource Monitor – Select Network – and Select MSExchangeMailboxReplication. If we notice we can see the send B/Sec and ReceiveB/Sec for the MRS service.exe will be increasing:

https://exchangequery.files.wordpress.com/2017/08/mrs1.png?w=600

Monitoring this for a while after initiating bulk moves will give us an average idea of how much transfer rates we are getting on our target Exchange servers. We can also run the below command for one large move request mailbox to analyze he transfer rate.

Get-MoverequestStatistics  -Identity  “currentlymovingmbxname” | fl mrsservername,remotehostname,requestqueue,bytestransferredperminute,starttimestamp,lastupdatetimestamp

After getting the MRS server name we can go to that server and monitor the transfer rate for msexchangemailboxreplication.exe for few minutes. This will gives us an idea of how much transfer bytes per second we are getting for the move requests.

Also we can see the remote connections – to which IP it is connecting to for pulling the mailboxes from the source.

We can see them on the TCP connections under network – Remote Address and in the local address we can see our Exchange server:

https://exchangequery.files.wordpress.com/2017/08/mrs2.png?w=600

We can see the remote TCP connections by using the below cmd from command prompt from the target Exchange 2016 Mailbox Server:

netstat -ano | findstr remoteCASIP

Note:

It’s very important to note that when we see the remote connections we should see the local IP of the CAS (remotehostname) and not its public routable IP. If it’s not resolving in local IP better to put source cas server's local IP as host entry in target Exchange Servers. This will work because there will be IP communication on port 443 set in place already for the cross forest to work. If the connections are going through local IP’S then the move requests will be faster.

We can run the below command to see if the MRSServer in the target is distributed among all of them which will speed up the migration process.

Get-Moverequest  | Get-MoverequestStatistics  | fl mrsservername,remotehostname,requestqueue,bytestransferredperminute,starttimestamp,lastupdatetimestamp 

We can get the network utilization report from the firewall which is allocated for this migration. We can get this from the time when the migration was started and time it got completed.

It’s always better to have a dedicated bandwidth for cross forest migration (separate VPN tunnel) temporarily until the migration is completed.

There is one amazing complete move requests status script provided by Microsoft product team:

https://blogs.technet.microsoft.com/exchange/2014/03/24/mailbox-migration-performance-analysis/

This works well for cross-forest on-premises Exchange migration environments also. But make sure the Step 1 is exactly run as below with including the 1 dot with space before running the script only  then it works.

. .\AnalyzeMoveRequestStats.ps1