Last updated May 4, 2012. Created by twom on May 4, 2012.
Log in to edit this page.

Migrate allows you to benchmark the migration and get execution time.

$ drush  mi Migration --instrument // Capture performance information (timer, memory, or all)

To add custom tracking you can surround your code using

<?php
migrate_instrument_start
($descriptiveName);
// your code
migrate_instrument_stop($descriptiveName);
?>

You can get periodic feedback using

$ drush  mi Migration --instrument --feedback="1000 items"  // Display a progress message every 1000 processed items or less   

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

I've got a poor-performing migration so I ran

drush mi SlowMigration --limit="100 items" --instrument="all" --feedback="30 seconds"

And it replied:

Processed 108 (100 created, 0 updated, 0 failed, 8 ignored) in 10 sec (601/min) - done with 'SlowMigration'
Name                Cum (bytes)  Count  Avg (bytes)
destination import  4929368      100    49294      
Timer                                     Cum (sec)  Count  Avg (msec)
page                                      10.594     1      10594.4
destination import                        9.356      100    93.561
field_collection_save                     6.585      100    65.85
saveIDMapping                             0.243      108    2.246
mapRowBySource                            0.122      217    0.564
MigrateFieldsEntityHandler->prepare       0.098      100    0.983
MigrateDestinationEntity->prepareFields   0.095      100    0.947
lookupDestinationID                       0.052      100    0.524
MigrateFieldsEntityHandler->complete      0.044      100    0.441
MigrateDestinationEntity->completeFields  0.04       100    0.404
DateMigrateFieldHandler->prepare          0.027      200    0.136
MigrateSourceCSV getNextRow               0.011      100    0.107
MigrateTextFieldHandler->prepare          0.007      100    0.069
MigrateValueFieldHandler->prepare         0.005      100    0.051
MigratePathEntityHandler->prepare         0.004      100    0.043
BillPeriodMigration2 prepareRow           0.002      108    0.02
MigrateSourceCSV performRewind            0          1      0.29

Any recommendations on what next steps one might take to improve the speed?