You are here

configuration.html in Migrate 6

File

help/configuration.html
View source
<p>Performing a large migration exercises a Drupal installation in different ways
than normal production usage. There are several things you can do to improve the
performance of your migration processes.</p>

<h3>.htaccess</h3>

<p>If you are going to upload large files through Table Wizard, you should increase
the following parameters, as well as increasing Drupal's
<a href="&base_url&admin/settings/uploads">maximum file upload values</a>:</p>

<pre>
  php_value max_input_time      600
  php_value upload_max_filesize 255M
  php_value post_max_size       255M
</pre>

<p>Bulk creation and deleting of nodes and users can strain memory usage - you
should consider significantly boosting <em>memory_limit</em>:</p>

<pre>
  php_value memory_limit       256M
</pre>

<p>When performing a migration process interactively, the Migrate module monitors
execution time and exits a few seconds before max_execution_time or max_input_time
is exhausted, to avoid partial updates. It is recommended to set them to a few minutes:</p>

<pre>
  php_value max_execution_time 240
  php_value max_input_time 240
</pre>

<h3>Drupal 6 Core patches</h3>

<p>In normal Drupal usage, nodes and users are created and deleted one at a time -
thus, the core is optimized for that kind of load and is not well optimized for
the bulk operations that the Migrate module performs. The following patches are
recommended to help your performance when performing migrations.</p>

<p>Deleting a user updates the comments and node_comment_statistics tables rows
referencing that user's uid, but those columns are not indexed, making deletion
of users in bulk very slow. The patch at
<a href="http://drupal.org/node/289504">http://drupal.org/node/289504</a> addresses
this.</p>

<p>Note: These patches have already been incorporated into Drupal 7.</p>

<h3>Importing from another database</h3>

<p>Migrate can import data from another database into the default Drupal database.
To set up a connection to an external database using Table Wizard, see the
<a href="/help/tw/external-tables">Table Wizard help</a>. Make
sure that both database connections use the same user names and passwords; otherwise,
MySQL will produce errors on certain queries. If the default database user does not
have access to the external database, grant the 'select' privilege:</p>

<pre>
  GRANT SELECT ON `external_db`.* TO 'default_db_user'@'localhost';
</pre>