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(