Merge branch 'master' into update-shebang
This commit is contained in:
commit
2f2b7680bd
2 changed files with 30 additions and 20 deletions
2
USAGE.md
2
USAGE.md
|
@ -1,6 +1,6 @@
|
|||
# NAME
|
||||
|
||||
MySQLTuner 2.5.2 - MySQL High Performance Tuning Script
|
||||
MySQLTuner 2.5.3 - MySQL High Performance Tuning Script
|
||||
|
||||
# IMPORTANT USAGE GUIDELINES
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env perl
|
||||
# mysqltuner.pl - Version 2.5.2
|
||||
#!env perl
|
||||
# mysqltuner.pl - Version 2.5.3
|
||||
# High Performance MySQL Tuning Script
|
||||
# Copyright (C) 2015-2023 Jean-Marie Renouard - jmrenouard@gmail.com
|
||||
# Copyright (C) 2006-2023 Major Hayden - major@mhtx.net
|
||||
|
@ -57,7 +57,7 @@ use Cwd 'abs_path';
|
|||
#use Env;
|
||||
|
||||
# Set up a few variables for use in the script
|
||||
my $tunerversion = "2.5.2";
|
||||
my $tunerversion = "2.5.3";
|
||||
my ( @adjvars, @generalrec );
|
||||
|
||||
# Set defaults
|
||||
|
@ -109,6 +109,7 @@ my %opt = (
|
|||
"prettyjson" => 0,
|
||||
"reportfile" => 0,
|
||||
"verbose" => 0,
|
||||
"experimental" => 0,
|
||||
"defaults-file" => '',
|
||||
"defaults-extra-file" => '',
|
||||
"protocol" => '',
|
||||
|
@ -151,7 +152,7 @@ GetOptions(
|
|||
'server-log=s', 'protocol=s',
|
||||
'defaults-extra-file=s', 'dumpdir=s',
|
||||
'feature=s', 'dbgpattern=s',
|
||||
'defaultarch=i'
|
||||
'defaultarch=i', 'experimental'
|
||||
)
|
||||
or pod2usage(
|
||||
-exitval => 1,
|
||||
|
@ -209,6 +210,11 @@ $basic_password_files = "/usr/share/mysqltuner/basic_passwords.txt"
|
|||
|
||||
$opt{dbgpattern} = '.*' if ( $opt{dbgpattern} eq '' );
|
||||
|
||||
# Activate debug variables
|
||||
#if ( $opt{debug} ne '' ) { $opt{debug} = 2; }
|
||||
# Activate experimental calculations and analysis
|
||||
#if ( $opt{experimental} ne '' ) { $opt{experimental} = 1; }
|
||||
|
||||
# check if we need to enable verbose mode
|
||||
if ( $opt{feature} ne '' ) { $opt{verbose} = 1; }
|
||||
if ( $opt{verbose} ) {
|
||||
|
@ -2530,7 +2536,7 @@ sub check_architecture {
|
|||
}
|
||||
elsif ( `uname` =~ /Darwin/ && `uname -m` =~ /x86_64/ ) {
|
||||
|
||||
# Darwin gibas.local 12.5.2 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
|
||||
# Darwin gibas.local 12.5.3 Darwin Kernel Version 12.3.0: Sun Jan 6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
|
||||
$arch = 64;
|
||||
goodprint "Operating on 64-bit architecture";
|
||||
}
|
||||
|
@ -3219,8 +3225,8 @@ sub calculations {
|
|||
"select round( 100* sum(allocated)/( select VARIABLE_VALUE "
|
||||
. "FROM performance_schema.global_variables "
|
||||
. "WHERE VARIABLE_NAME='innodb_buffer_pool_size' ) ,2)"
|
||||
. 'FROM sys.x\$innodb_buffer_stats_by_table;' );
|
||||
|
||||
. 'FROM sys.x\$innodb_buffer_stats_by_table;' )
|
||||
if ($opt{experimental});
|
||||
# Binlog Cache
|
||||
if ( $myvar{'log_bin'} ne 'OFF' ) {
|
||||
$mycalc{'pct_binlog_cache'} = percentage(
|
||||
|
@ -6372,14 +6378,16 @@ sub mysql_innodb {
|
|||
# ,2) as "PCT ALLOC/BUFFER POOL"
|
||||
#from sys.x$innodb_buffer_stats_by_table;
|
||||
|
||||
if (defined $mycalc{innodb_buffer_alloc_pct}) {
|
||||
if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) {
|
||||
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
|
||||
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
|
||||
}
|
||||
else {
|
||||
goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
|
||||
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
|
||||
if ( $opt{experimental} ) {
|
||||
if (defined $mycalc{innodb_buffer_alloc_pct}) {
|
||||
if ( $mycalc{innodb_buffer_alloc_pct} < 80 ) {
|
||||
badprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
|
||||
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
|
||||
}
|
||||
else {
|
||||
goodprint "Ratio Buffer Pool allocated / Buffer Pool Size: "
|
||||
. $mycalc{'innodb_buffer_alloc_pct'} . '%';
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $mycalc{'innodb_log_size_pct'} < 20
|
||||
|
@ -6408,7 +6416,7 @@ sub mysql_innodb {
|
|||
. $myvar{'innodb_log_files_in_group'} . " / "
|
||||
. hr_bytes( $myvar{'innodb_buffer_pool_size'} )
|
||||
. " should be equal to 25%";
|
||||
push(
|
||||
push(
|
||||
@adjvars,
|
||||
"innodb_log_file_size should be (="
|
||||
. hr_bytes_rnd(
|
||||
|
@ -7201,6 +7209,8 @@ sub headerprint {
|
|||
. "\t * Major Hayden <major\@mhtx.net>\n"
|
||||
. " >> Bug reports, feature requests, and downloads at http://mysqltuner.pl/\n"
|
||||
. " >> Run with '--help' for additional options and output filtering";
|
||||
debugprint("Debug: ".$opt{debug});
|
||||
debugprint("Experimental: ".$opt{experimental});
|
||||
}
|
||||
|
||||
sub string2file {
|
||||
|
@ -7211,12 +7221,12 @@ sub string2file {
|
|||
"Unable to open $filename in write mode. Please check permissions for this file or directory";
|
||||
print $fh $content if defined($content);
|
||||
close $fh;
|
||||
debugprint $content if ( $opt{'debug'} );
|
||||
debugprint $content;
|
||||
}
|
||||
|
||||
sub file2array {
|
||||
my $filename = shift;
|
||||
debugprint "* reading $filename" if ( $opt{'debug'} );
|
||||
debugprint "* reading $filename";
|
||||
my $fh;
|
||||
open( $fh, q(<), "$filename" )
|
||||
or die "Couldn't open $filename for reading: $!\n";
|
||||
|
@ -7402,7 +7412,7 @@ __END__
|
|||
|
||||
=head1 NAME
|
||||
|
||||
MySQLTuner 2.5.2 - MySQL High Performance Tuning Script
|
||||
MySQLTuner 2.5.3 - MySQL High Performance Tuning Script
|
||||
|
||||
=head1 IMPORTANT USAGE GUIDELINES
|
||||
|
||||
|
|
Loading…
Reference in a new issue