diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 6161819..1d925e2 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -177,6 +177,25 @@ function system_requirements($phase) { ); } + // Check InnoDB configuration. + if ($phase == 'runtime' && db_driver() == 'mysql') { + $expected = array( + 'variable_name' => 'innodb_flush_log_at_trx_commit', + 'value' => 1, + ); + $variable = db_query("SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'") + ->fetchAssoc(); + if ($variable != $expected) { + $requirements['innodb_flush_log_at_trx_commit'] = array( + 'title' => t('InnoDB configuration'), + 'value' => t('Potentially slow'), + 'description' => t('InnoDB variable innodb_flush_log_at_trx_commit is set to 1. This can reduce performance as a disk flush is performed after every database write. See the Drupal Database tuning handbook page.'), + 'severity' => REQUIREMENT_WARNING, + ); + } + } + + // Test PHP memory_limit $memory_limit = ini_get('memory_limit'); $requirements['php_memory_limit'] = array(