@@ -6557,37 +6557,40 @@ sub mysql_innodb {
6557
6557
}
6558
6558
6559
6559
# InnoDB Used Buffer Pool Size vs CHUNK size
6560
- if ( !defined ( $myvar {' innodb_buffer_pool_chunk_size' } ) ) {
6561
- infoprint
6562
- " InnoDB Buffer Pool Chunk Size not used or defined in your version" ;
6563
- }
6564
- else {
6565
- infoprint " Number of InnoDB Buffer Pool Chunk: "
6566
- . int ( $myvar {' innodb_buffer_pool_size' } ) /
6567
- int ( $myvar {' innodb_buffer_pool_chunk_size' } ) . " for "
6568
- . $myvar {' innodb_buffer_pool_instances' }
6569
- . " Buffer Pool Instance(s)" ;
6570
-
6571
- if (
6572
- int ( $myvar {' innodb_buffer_pool_size' } ) % (
6573
- int ( $myvar {' innodb_buffer_pool_chunk_size' } ) *
6574
- int ( $myvar {' innodb_buffer_pool_instances' } )
6575
- ) eq 0
6576
- )
6577
- {
6578
- goodprint
6579
- " Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances" ;
6580
- }
6581
- else {
6582
- badprint
6583
- " Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances" ;
6584
-
6585
- # push( @adjvars, "Adjust innodb_buffer_pool_instances, innodb_buffer_pool_chunk_size with innodb_buffer_pool_size" );
6586
- push ( @adjvars ,
6587
- " innodb_buffer_pool_size must always be equal to or a multiple of innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances"
6588
- );
6589
- }
6560
+ if ( !defined ($myvar {' innodb_buffer_pool_chunk_size' }) ||
6561
+ $myvar {' innodb_buffer_pool_chunk_size' } == 0 ||
6562
+ !defined ($myvar {' innodb_buffer_pool_size' }) ||
6563
+ $myvar {' innodb_buffer_pool_size' } == 0 ||
6564
+ !defined ($myvar {' innodb_buffer_pool_instances' }) ||
6565
+ $myvar {' innodb_buffer_pool_instances' } == 0 ) {
6566
+
6567
+ badprint " Cannot calculate InnoDB Buffer Pool Chunk breakdown due to missing or zero values:" ;
6568
+
6569
+ infoprint " - innodb_buffer_pool_size: " .
6570
+ (defined $myvar {' innodb_buffer_pool_size' } ? $myvar {' innodb_buffer_pool_size' } : " undefined" );
6571
+ infoprint " - innodb_buffer_pool_chunk_size: " .
6572
+ (defined $myvar {' innodb_buffer_pool_chunk_size' } ? $myvar {' innodb_buffer_pool_chunk_size' } : " undefined" );
6573
+ infoprint " - innodb_buffer_pool_instances: " .
6574
+ (defined $myvar {' innodb_buffer_pool_instances' } ? $myvar {' innodb_buffer_pool_instances' } : " undefined" );
6575
+
6576
+ } else {
6577
+ my $num_chunks = int ($myvar {' innodb_buffer_pool_size' } / $myvar {' innodb_buffer_pool_chunk_size' });
6578
+ infoprint " Number of InnoDB Buffer Pool Chunk: $num_chunks for "
6579
+ . $myvar {' innodb_buffer_pool_instances' } . " Buffer Pool Instance(s)" ;
6580
+
6581
+ my $expected_size = int ($myvar {' innodb_buffer_pool_chunk_size' }) *
6582
+ int ($myvar {' innodb_buffer_pool_instances' });
6583
+
6584
+ if (int ($myvar {' innodb_buffer_pool_size' }) % $expected_size == 0) {
6585
+ goodprint " Innodb_buffer_pool_size aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances" ;
6586
+ } else {
6587
+ badprint " Innodb_buffer_pool_size not aligned with Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances" ;
6588
+
6589
+ push (@adjvars ,
6590
+ " innodb_buffer_pool_size must always be equal to or a multiple of innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances"
6591
+ );
6590
6592
}
6593
+ }
6591
6594
6592
6595
# InnoDB Read efficiency
6593
6596
if ( defined $mycalc {' pct_read_efficiency' }
0 commit comments