Merge pull request #70 from cloos/innodb_buffer_pool_instances_fixes

Innodb buffer pool instances fixes
This commit is contained in:
Major Hayden 2015-06-16 07:02:01 -05:00
commit 38073d6d2e

View file

@ -1132,32 +1132,27 @@ sub mysql_stats {
badprint "InnoDB buffer pool / data size: ".hr_bytes($myvar{'innodb_buffer_pool_size'})."/".hr_bytes($enginestats{'InnoDB'})."\n";
push(@adjvars,"innodb_buffer_pool_size (>= ".hr_bytes_rnd($enginestats{'InnoDB'}).")");
}
if (defined($myvar{'innodb_buffer_pool_instances'})) {
if ($myvar{'innodb_buffer_pool_instances'} > 64) {
badprint "InnoDB buffer pool instances: ".$myvar{'innodb_buffer_pool_instances'}."\n";
push(@adjvars,"innodb_buffer_pool_instances (<= 64)");
} else {
if ($myvar{'innodb_buffer_pool_size'} > 1024*1024*1024
and $myvar{'innodb_buffer_pool_instances'} != int($myvar{'innodb_buffer_pool_size'}/(1024*1024*1024))
) {
badprint "InnoDB buffer pool instances: ".$myvar{'innodb_buffer_pool_instances'}."\n";
push(@adjvars,"innodb_buffer_pool_instances(=".int($myvar{'innodb_buffer_pool_size'}/(1024*1024*1024)).")");
} else {
goodprint "InnoDB buffer pool instances: ".$myvar{'innodb_buffer_pool_instances'}."\n";
}
}
}
if (defined $mystat{'Innodb_log_waits'} && $mystat{'Innodb_log_waits'} > 0) {
badprint "InnoDB log waits: ".$mystat{'Innodb_log_waits'};
push(@adjvars,"innodb_log_buffer_size (>= ".hr_bytes_rnd($myvar{'innodb_log_buffer_size'}).")");
} else {
goodprint "InnoDB log waits: ".$mystat{'Innodb_log_waits'}."\n";
}
if (defined($myvar{'innodb_buffer_pool_instances'})) {
infoprint "MySQL version: " .$myvar{'version'}." is greater than MySQL 5.6.6(innodb_buffer_pool_instances is present)\n";
if ($myvar{'innodb_buffer_pool_instances'} > 64) {
badprint "InnoDB buffer pool instances must be lower than 64.\n";
push(@adjvars,"innodb_buffer_pool_instances must be lower than 64.");
} else {
goodprint "InnoDB buffer pool instances is lower than 64.\n";
}
infoprint "Buffer Pool Size: ".hr_bytes_rnd($myvar{'innodb_buffer_pool_size'})."\n";
infoprint "Buffer Pool Inst: $myvar{'innodb_buffer_pool_instances'}\n";
if ($myvar{'innodb_buffer_pool_size'} > 1024*1024*1024
and (
($myvar{'innodb_buffer_pool_size'}/$myvar{'innodb_buffer_pool_instances'}) < 1024*1024*924
or ($myvar{'innodb_buffer_pool_size'}/$myvar{'innodb_buffer_pool_instances'}) > 1024*1024*1124 ) ) {
badprint "InnoDB buffer pool is greater than 1Go and each InnoDB buffer pool instance must manage 900Mo to 1.1Go buffer pool size";
push(@adjvars,"innodb_buffer_pool_instances must be calculated with innodb_buffer_pool_size / 1Go ");
} else {
goodprint "InnoDB buffer pool instances is configurated for managing around 1Go Buffer pool size.";
}
}
}
}