Throttle me this, #Office365

What vary by environment, should never be ignored, and provide the most efficient migration possible?

But, of course, everyone knows they are your MaxPowershellConnections and Admin Account Pool settings!

Notes Migrator for Exchange (NME) and GroupWise Migrator for Exchange (GME) have been updated with additional settings to help migrate within the throttles assigned to each Office 365 tenant. To establish optimal settings for each environment, follow these "simple" clues (not coincidentally a 7 step approach):

  1. Determine the PowerShellMaxTenantConcurrency setting for your tenant - the default is 9 so, unless you have received a throttling increase from Microsoft, that is your magic number. Write it here _____.
  2. Determine how many migration machines you want to use - this must not exceed the value documented in #1. Write that number here_____.
  3. Take the number from #1 and divided by the value in #2, then drop the remainder to arrive at a whole number - Write that number here _____.This is the best value for your MaxPowershellConnections setting in NME or GME. This should be set in the [PowerShell] section of the Global Default Settings or INI file, respectively.
  4. Determine how many migration threads you want to run on each migration machine - This value is independent of the PowerShell throttling and should be determined by the number of users and amount of data you want to migrate in a given migration window. In many cases, 8-10 may be as high as you want to go for Office 365, but some customers use higher thread counts. Write that number here _____.
  5. Take the number from #2 and multiply by the value in #4 - Write that number here _____. While this is independent of the PowerShell runspaces, the total migration thread count may be indirectly limited by the number of machines you can use based on the PowerShellMaxTenantConcurrency of the tenant (see #2 above).
  6. Configure the Admin Pooling feature - Set the number of admin accounts available in the pool to a value greater than or equal to the number documented in #5.
  7. Migrate, Migrate, Migrate

Unless you are some kind of Joker, the simplicity and pure genius of this process should be readily apparent.

All kidding aside, the above procedure will provide the optimal settings for your migration and the best throughput possible within the throttling limits of each tenant. We will be automating the calculations and custom configuration in future releases of both products.

Just remember, it's how much you migrate that defines you. Oh, and, I'm Batman!