##################################################################################### # Test for autoscaling based on innodb_dedicated_server variable. # # # # # # This test checks autoscaling of following variables based on value of # # innodb_dedicated_server option # # - innodb_buffer_pool_size # # - innodb_log_file_size # # - innodb_log_files_in_group # # # # This test also does basic testing for new variable innodb_dedicated_server # ##################################################################################### # Make sure to run only on Linux --source include/linux.inc # Make sure this test is not run on PB2 machines --source include/is_local_machine.inc # Make sure that there are no other tests running in parallel --source include/not_parallel.inc # Make sure UNIV_DEBUG_DEDICATED is defined and debug_sys_mem_size is available let $have_debug_dedicated = `SELECT * FROM performance_schema.global_variables where VARIABLE_NAME LIKE "%debug_sys_mem_size%"`; if (!$have_debug_dedicated) { --skip Test requires 'debug_dedicated' } --disable_query_log call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Resizing redo log"); call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Starting to delete and rewrite log files."); call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* New log files created"); call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Option innodb_dedicated_server is ignored "); call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* No argument was provided to --log-bin, and --log-bin-index was not used"); call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* option 'innodb-buffer-pool-size': signed value"); --enable_query_log ############################################################################## # Autoscaling is done as per below formula: # # innodb_buffer_pool_size # # server_memory < 1G ? 128M (same as current default) # # server_memory <= 4G ? server_memory * 0.5 # # server_memory > 4G ? server_memory * 0.75 # # # # innodb_log_file_size # # buf_pool_size < 1G ? 48M (same as current default) # # buf_pool_size < 8G ? 512M # # buf_pool_size <= 128G ? 1024M # # buf_pool_size > 128G ? 2048M # # # # innodb_log_files_in_group # # buf_pool_size < 1G ? 2 (same as current default) # # buf_pool_size < 8G ? ROUND(buf_pool_size/GB) # # buf_pool_size <= 128G ? ROUND(buf_pool_size/GB * 0.75) # # buf_pool_size > 128G ? 64 # # # # Following Perl module calculates server memory and evaluates # # innodb_buffer_pool_size and # # innodb_log_file_size # # innodb_log_files_in_group # # based on above formula. # # # # NOTE : Please build the server with UNIV_DEBUG_DEDICATED!!!!!! # ############################################################################## # Test 1: 1G let $debug_sys_mem_size=1; --source suite/special/t/innodb_dedicated_server_gcov.inc # Test 2: 4G let $debug_sys_mem_size=4; --source suite/special/t/innodb_dedicated_server_gcov.inc # Test 3: 16G let $debug_sys_mem_size=16; --source suite/special/t/innodb_dedicated_server_gcov.inc # Test 4: 200G let $debug_sys_mem_size=200; --source suite/special/t/innodb_dedicated_server_gcov.inc