From f2f2bdcf570b166c447c70265e2ceb9dec745116 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Tue, 16 Jun 2015 12:19:38 +0200 Subject: [PATCH 1/5] don't mention MySQL version again The MySQL version is mentioned previously, so no need to do this here again. Also the version mentioned was wrong as innodb_buffer_pool_instances was introduced in 5.5.4: http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instances --- mysqltuner.pl | 1 - 1 file changed, 1 deletion(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index 4bf79da..ea9a7ea 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -1139,7 +1139,6 @@ sub mysql_stats { 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."); From 9d50475025ff115b9273ad8b83019969483853f6 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Tue, 16 Jun 2015 12:24:42 +0200 Subject: [PATCH 2/5] don't mention innodb_buffer_pool_size again innodb_buffer_pool_size is reported previously, so no need to do this here again --- mysqltuner.pl | 1 - 1 file changed, 1 deletion(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index ea9a7ea..4693410 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -1145,7 +1145,6 @@ sub mysql_stats { } 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 ( From 1e7fe0d3947279e819f6dcf261e01e1db0ecf7d3 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Tue, 16 Jun 2015 13:21:58 +0200 Subject: [PATCH 3/5] update innodb_buffer_pool_instances output * make the output more consistent with the other InnoDB outputs * calculate a value for 'Variables to adjust' --- mysqltuner.pl | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index 4693410..cc4fd30 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -1140,20 +1140,17 @@ sub mysql_stats { } if (defined($myvar{'innodb_buffer_pool_instances'})) { 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."); + badprint "InnoDB buffer pool instances: ".$myvar{'innodb_buffer_pool_instances'}."\n"; + push(@adjvars,"innodb_buffer_pool_instances (<= 64)"); } else { - goodprint "InnoDB buffer pool instances is lower than 64.\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."; + 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"; + } } } } From 0b07468e430b8bebf2be9111a16e0ab52792ea46 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Tue, 16 Jun 2015 13:34:41 +0200 Subject: [PATCH 4/5] move innodb_buffer_pool_instances output after innodb_buffer_pool_size --- mysqltuner.pl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index cc4fd30..a51825e 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -1132,13 +1132,7 @@ 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 $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'})) { + 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)"); @@ -1153,6 +1147,12 @@ sub mysql_stats { } } } + 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"; + } } } From 1f27eb393e08c5d334c747123b38726c4bc22d03 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Tue, 16 Jun 2015 14:26:08 +0200 Subject: [PATCH 5/5] fix fetching memory values on non-english Linux systems --- mysqltuner.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysqltuner.pl b/mysqltuner.pl index a51825e..9ad8191 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -226,8 +226,8 @@ sub os_setup { } } else { if ($os =~ /Linux/) { - $physical_memory = `free -b | grep Mem | awk '{print \$2}'` or memerror; - $swap_memory = `free -b | grep Swap | awk '{print \$2}'` or memerror; + $physical_memory = `LANG=en free -b | grep Mem | awk '{print \$2}'` or memerror; + $swap_memory = `LANG=en free -b | grep Swap | awk '{print \$2}'` or memerror; } elsif ($os =~ /Darwin/) { $physical_memory = `sysctl -n hw.memsize` or memerror; $swap_memory = `sysctl -n vm.swapusage | awk '{print \$3}' | sed 's/\..*\$//'` or memerror;