Mysql

MySQL 調整:未找到 INNODB_BUFFER_POOL_SIZE?

  • June 3, 2019

我的由 Amazon-RDS-Aurora 託管的複制器 MySQL 數據庫性能不佳。數據庫非常強大,因此性能應該不是問題。

當我執行

SHOW VARIABLES;

我找不到 INNODB_BUFFER_POOL_SIZE。這怎麼可能?我懷疑這個參數與性能不佳有關。

這是我的配置變數:

  • 變數名值
  • aurora_lab_mode 關閉
  • aurora_load_from_s3_role
  • aurora_max_alter_table_log_entries 1000
  • aurora_max_connections_limit 16000
  • aurora_select_into_s3_role
  • aurora_server_id 數組
  • aurora_use_key_prefetch ON
  • aurora_version 1.17.2
  • auto_increment_increment 1
  • auto_increment_offset 1
  • 自動送出
  • automatic_sp_privileges 開啟
  • aws_default_lambda_role
  • aws_default_s3_role
  • awsauthenticationplugin_max_backoff_delay 2000
  • awsauthenticationplugin_max_retry_count 3
  • awsauthenticationplugin_retry_delay 250
  • 積壓日誌 650
  • basedir /rdsdbbin/oscar/
  • 大表關閉
  • 綁定地址 *
  • binlog_cache_size 32768
  • binlog_checksum CRC32
  • binlog_direct_non_transactional_updates 關閉
  • binlog_format 聲明
  • binlog_max_flush_queue_time 0
  • binlog_order_commits ON
  • binlog_row_image 已滿
  • binlog_rows_query_log_events 關閉
  • binlog_stmt_cache_size 32768
  • bulk_insert_buffer_size 8388608
  • character_set_client utf8
  • character_set_connection utf8
  • character_set_database latin1
  • character_set_filesystem 二進制
  • character_set_results utf8
  • character_set_server latin1
  • character_set_system utf8
  • 字元集目錄 *
  • collat​​ion_connection utf8_general_ci
  • collation_database latin1_swedish_ci
  • collat​​ion_server latin1_swedish_ci
  • 完成類型 NO_CHAIN
  • 並發插入自動
  • 連接超時 10
  • 核心文件開啟
  • 數據目錄 /rdsdbdata/db/
  • 日期格式 %Y-%m-%d
  • datetime_format %Y-%m-%d %H:%i:%s
  • default_storage_engine InnoDB
  • default_tmp_storage_engine InnoDB
  • default_week_format 0
  • delay_key_write 開啟
  • 延遲插入限制 100
  • 延遲插入超時 300
  • 延遲隊列大小 1000
  • disconnect_on_expired_pa​​ssword 開啟
  • div_precision_increment 4
  • end_markers_in_json 關閉
  • enforce_gtid_consistency OFF
  • eq_range_index_dive_limit 10
  • 錯誤計數 0
  • event_scheduler 關閉
  • expire_logs_days 0
  • 顯式預設值for_timestamp ON
  • 外部使用者
  • 沖洗關閉
  • 沖洗時間 0
  • foreign_key_checks 開啟
  • ft_boolean_syntax + -><()~*:"&|"
  • ft_max_word_len 84
  • ft_min_word_len 4
  • ft_query_expansion_limit 20
  • ft_stopword_file(內置)
  • general_log 關閉
  • general_log_file /rdsdbdata/log/general/mysql-general.log
  • group_concat_max_len 1024
  • gtid_executed
  • gtid_mode 關閉
  • gtid_next 自動
  • gtid_owned
  • gtid_purged
  • have_compress 是
  • have_crypt 是
  • have_dynamic_loading 是
  • have_geometry 是
  • have_openssl 是
  • have_profiling 是
  • have_query_cache 是
  • have_rtree_keys 是
  • have_ssl 是
  • have_symlink 是
  • 主機記憶體大小 128
  • 主機名 ip-10-1-1-83
  • 身份 0
  • ignore_builtin_innodb 關閉
  • ignore_db_dirs
  • 忽略預設儲存引擎錯誤關閉
  • 初始化連接
  • 初始化文件
  • init_slave
  • innodb_adaptive_flushing ON
  • innodb_adaptive_flushing_lwm 10
  • innodb_adaptive_hash_index 關閉
  • innodb_adaptive_max_sleep_delay 150000
  • innodb_additional_mem_pool_size 8388608
  • innodb_api_bk_commit_interval 5
  • innodb_api_disable_rowlock 關閉
  • innodb_api_enable_binlog 關閉
  • innodb_api_enable_mdl 關閉
  • innodb_api_trx_level 0
  • innodb_aurora_enable_auto_akp 關閉
  • innodb_autoextend_increment 64
  • innodb_autoinc_lock_mode 1
  • innodb_buffer_pool_dump_at_shutdown OFF
  • innodb_buffer_pool_dump_now 關閉
  • innodb_buffer_pool_filename ib_buffer_pool
  • innodb_buffer_pool_instances 8
  • innodb_buffer_pool_load_abort 關閉
  • innodb_buffer_pool_load_at_startup 關閉
  • innodb_buffer_pool_load_now 關閉
  • innodb_change_buffer_max_size 25
  • innodb_change_buffering 無
  • innodb_checksum_algorithm 無
  • innodb_checksums 關閉
  • innodb_cmp_per_index_enabled 關閉
  • innodb_commit_concurrency 0
  • innodb_compression_failure_threshold_pct 5
  • innodb_compression_level 6
  • innodb_compression_pad_pct_max 50
  • innodb_concurrency_tickets 5000
  • innodb_data_file_path ibdata1:12M:autoextend
  • innodb_data_home_dir
  • innodb_disable_sort_file_cache 關閉
  • innodb_doublewrite 關閉
  • innodb_fast_shutdown 1
  • innodb_file_format 羚羊
  • innodb_file_format_check ON
  • innodb_file_format_max 羚羊
  • innodb_file_per_table ON
  • innodb_flush_log_at_timeout 1
  • innodb_flush_log_at_trx_commit 1
  • innodb_flush_method O_DIRECT
  • innodb_flush_neighbors 1
  • innodb_flushing_avg_loops 30
  • innodb_force_load_corrupted 關閉
  • innodb_force_recovery 0
  • innodb_ft_aux_table
  • innodb_ft_cache_size 8000000
  • innodb_ft_enable_diag_print 關閉
  • innodb_ft_enable_stopword ON
  • innodb_ft_max_token_size 84
  • innodb_ft_min_token_size 3
  • innodb_ft_num_word_optimize 2000
  • innodb_ft_result_cache_limit 2000000000
  • innodb_ft_server_stopword_table
  • innodb_ft_sort_pll_degree 2
  • innodb_ft_total_cache_size 640000000
  • innodb_ft_user_stopword_table
  • innodb_io_容量 200
  • innodb_io_capacity_max 2000
  • innodb_large_prefix 關閉
  • innodb_lock_wait_timeout 50
  • innodb_locks_unsafe_for_binlog 關閉
  • innodb_log_buffer_size 8388608
  • innodb_log_file_size 50331648
  • innodb_log_files_in_group 2
  • innodb_log_group_home_dir ./
  • innodb_lru_scan_depth 1024
  • innodb_max_dirty_pages_pct 75
  • innodb_max_dirty_pages_pct_lwm 0
  • innodb_max_purge_lag 0
  • innodb_max_purge_lag_delay 0
  • innodb_mirrored_log_groups 1
  • innodb_monitor_disable
  • innodb_monitor_enable
  • innodb_monitor_reset
  • innodb_monitor_reset_all
  • innodb_old_blocks_pct 37
  • innodb_old_blocks_time 1000
  • innodb_online_alter_log_max_size 134217728
  • innodb_open_files 6000
  • innodb_optimize_fulltext_only 關閉
  • innodb_page_size 16384
  • innodb_print_all_deadlocks 關閉
  • innodb_purge_batch_size 900
  • innodb_purge_threads 3
  • innodb_random_read_ahead 關閉
  • innodb_read_ahead_threshold 56
  • innodb_read_io_threads 16
  • innodb_read_only 關閉
  • innodb_replication_delay 0
  • innodb_rollback_on_timeout 關閉
  • innodb_rollback_segments 128
  • innodb_shared_buffer_pool_uses_huge_pages ON
  • innodb_sort_buffer_size 1048576
  • innodb_spin_wait_delay 6
  • innodb_stats_auto_recalc ON
  • innodb_stats_method nulls_equal
  • innodb_stats_on_metadata 關閉
  • innodb_stats_persistent ON
  • innodb_stats_persistent_sample_pages 20
  • innodb_stats_sample_pages 8
  • innodb_stats_transient_sample_pages 8
  • innodb_strict_mode 關閉
  • innodb_support_xa 開啟
  • innodb_sync_array_size 1
  • innodb_sync_spin_loops 30
  • innodb_table_locks 開啟
  • innodb_thread_concurrency 0
  • innodb_thread_sleep_delay 10000
  • innodb_undo_directory 。
  • innodb_undo_logs 128
  • innodb_undo_tablespaces 0
  • innodb_use_native_aio 關閉
  • innodb_use_sys_malloc 開啟
  • innodb_version 1.2.10
  • innodb_write_io_threads 4
  • insert_id 0
  • 互動超時 28800
  • 加入緩衝區大小 262144
  • keep_files_on_create 關閉
  • key_buffer_size 16777216
  • key_cache_age_threshold 300
  • key_cache_block_size 1024
  • key_cache_division_limit 100
  • large_files_support 開啟
  • large_page_size 0
  • large_pages 關閉
  • last_insert_id 0
  • lc_messages en_US
  • lc_messages_dir /rdsdbbin/oscar-5.6.10a.200116.0/share/
  • lc_time_names en_US
  • 許可 GPL
  • local_infile 開啟
  • lock_wait_timeout 31536000
  • 鎖定記憶體關閉
  • log_bin 關閉
  • log_bin_basename
  • log_bin_index
  • log_bin_trust_function_creators 關閉
  • log_bin_use_v1_row_events 關閉
  • log_error /rdsdbdata/log/error/mysql-error.log
  • 日誌輸出表
  • log_queries_not_using_indexes 關閉
  • log_slave_updates 開啟
  • log_throttle_queries_not_using_indexes 0
  • 日誌警告 1
  • long_query_time 10
  • 低優先級更新關閉
  • 小寫文件系統關閉
  • lower_case_table_names 0
  • master_info_repository 表
  • master_verify_checksum 關閉
  • max_allowed_pa​​cket 4194304
  • max_binlog_cache_size 1.84467E+19
  • max_binlog_size 134217728
  • max_binlog_stmt_cache_size 1.84467E+19
  • 最大連接錯誤 100
  • 最大連接數 3000
  • max_delayed_threads 20
  • 最大摘要長度 1024
  • 最大錯誤計數 64
  • max_heap_table_size 16777216
  • max_insert_delayed_threads 20
  • max_join_size 1.84467E+19
  • max_length_for_sort_data 1024
  • max_prepared_stmt_count 16382
  • max_relay_log_size 0
  • max_seeks_for_key 1.84467E+19
  • 最大排序長度 1024
  • max_sp_recursion_depth 0
  • max_tmp_tables 32
  • 最大使用者連接數 0
  • max_write_lock_count 1.84467E+19
  • metadata_locks_cache_size 1024
  • min_examined_row_limit 0
  • 多範圍計數 256
  • myisam_data_pointer_size 6
  • myisam_max_sort_file_size 9.22337E+18
  • myisam_mmap_size 1.84467E+19
  • myisam_recover_options 關閉
  • myisam_repair_threads 1
  • myisam_sort_buffer_size 8388608
  • myisam_stats_method nulls_unequal
  • myisam_use_mmap 關閉
  • net_buffer_length 16384
  • net_read_timeout 30
  • net_retry_count 10
  • net_write_timeout 60
  • 新關
  • 舊關
  • old_alter_table 關閉
  • 舊密碼 0
  • open_files_limit 65535
  • optimizer_prune_level 1
  • 優化器搜尋深度 62
  • optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan =on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,hash_join=on,hash_join_cost_based=on
  • optimizer_trace 啟用=off,one_line=off
  • optimizer_trace_features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
  • optimizer_trace_limit 1
  • optimizer_trace_max_mem_size 16384
  • optimizer_trace_offset -1
  • 性能模式關閉
  • performance_schema__auto__ 開啟
  • performance_schema_accounts_size 100
  • performance_schema_digests_size 10000
  • performance_schema_events_stages_history_long_size 10000
  • performance_schema_events_stages_history_size 10
  • performance_schema_events_statements_history_long_size 10000
  • performance_schema_events_statements_history_size 10
  • performance_schema_events_waits_history_long_size 10000
  • performance_schema_events_waits_history_size 10
  • performance_schema_hosts_size 100
  • performance_schema_max_cond_classes 80
  • performance_schema_max_cond_instances 52160
  • performance_schema_max_digest_length 1024
  • performance_schema_max_file_classes 50
  • performance_schema_max_file_handles 32768
  • performance_schema_max_file_instances 92616
  • performance_schema_max_mutex_classes 200
  • performance_schema_max_mutex_instances 319090
  • performance_schema_max_rwlock_classes 40
  • performance_schema_max_rwlock_instances 126430
  • performance_schema_max_socket_classes 10
  • performance_schema_max_socket_instances 6050
  • performance_schema_max_stage_classes 150
  • performance_schema_max_statement_classes 177
  • performance_schema_max_table_handles 12000
  • performance_schema_max_table_instances 25000
  • performance_schema_max_thread_classes 50
  • performance_schema_max_thread_instances 6130
  • performance_schema_session_connect_attrs_size 512
  • performance_schema_setup_actors_size 100
  • performance_schema_setup_objects_size 100
  • performance_schema_users_size 100
  • pid_file /rdsdbdata/log/mysql-3306.pid
  • plugin_dir /rdsdbbin/oscar-5.6.10a.200116.0/lib/plugin/
  • 埠 3306
  • preload_buffer_size 32768
  • 分析關閉
  • profiling_history_size 15
  • 協議版本 10
  • 代理使用者
  • 偽從模式關閉
  • 偽執行緒 ID 46502
  • 查詢分配塊大小 8192
  • query_cache_limit 1048576
  • query_cache_min_res_unit 4096
  • query_cache_size 2459388928
  • query_cache_type 開啟
  • query_cache_wlock_invalidate 關閉
  • query_prealloc_size 8192
  • rand_seed1 0
  • rand_seed2 0
  • range_alloc_block_size 4096
  • 讀取緩衝區大小 262144
  • 只讀關
  • read_rnd_buffer_size 524288
  • relay_log /rdsdbdata/log/relaylog/relaylog
  • relay_log_basename /rdsdbdata/log/relaylog/relaylog
  • relay_log_index /rdsdbdata/log/relaylog/relaylog.index
  • relay_log_info_file relay-log.info
  • relay_log_info_repository 表
  • 中繼日誌清除開啟
  • 中繼日誌恢復開啟
  • relay_log_space_limit 1000000000
  • 報告主機
  • 報告密碼
  • 報告埠 3306
  • 報告使用者
  • require_fk_checks_for_ddl 關閉
  • rpl_stop_slave_timeout 31536000
  • 安全身份驗證開啟
  • secure_file_priv /tmp/
  • server_audit_cw_upload 關閉
  • server_audit_events
  • server_audit_excl_users
  • server_audit_incl_users
  • server_audit_logging 關閉
  • server_audit_mode 0
  • server_audit_query_log_limit 1024
  • server_id *
  • server_id_bits 32
  • server_uuid *
  • sha256_password_private_key_path private_key.pem
  • sha256_password_public_key_path public_key.pem
  • 跳過外部鎖定開啟
  • 跳過名稱解析開啟
  • 跳過網路關閉
  • 跳過顯示數據庫關閉
  • slave_allow_batching 關閉
  • slave_checkpoint_group 512
  • slave_checkpoint_period 300
  • slave_compressed_protocol 關閉
  • slave_exec_mode 嚴格
  • slave_load_tmpdir /rdsdbdata/tmp/
  • slave_max_allowed_pa​​cket 1073741824
  • slave_net_timeout 3600
  • slave_parallel_workers 0
  • slave_pending_jobs_size_max 16777216
  • slave_rows_search_algorithms TABLE_SCAN,INDEX_SCAN
  • slave_skip_errors 關閉
  • slave_sql_verify_checksum ON
  • slave_transaction_retries 10
  • slave_type_conversions
  • 慢啟動時間 2
  • 慢查詢日誌關閉
  • slow_query_log_file /rdsdbdata/log/slowquery/mysql-slowquery.log
  • 套接字 /tmp/mysql.sock
  • 排序緩衝區大小 262144
  • sql_auto_is_null 關閉
  • sql_big_selects 開啟
  • sql_buffer_result 關閉
  • sql_log_bin 開啟
  • sql_log_off 關閉
  • sql_mode
  • sql_notes 開啟
  • sql_quote_show_create ON
  • sql_safe_updates 關閉
  • sql_select_limit 1.84467E+19
  • sql_slave_skip_counter 0
  • sql_warnings 關閉
  • ssl_ca /rdsdbdata/rds-metadata/ca-cert.pem
  • ssl_capath
  • ssl_cert /rdsdbdata/rds-metadata/server-cert.pem
  • ssl_cipher *
  • ssl_crl
  • ssl_crlpath
  • ssl_key /rdsdbdata/rds-metadata/server-key.pem
  • storage_engine InnoDB
  • 儲存程序記憶體 256
  • 同步二進制日誌 1
  • sync_frm 開啟
  • 同步主資訊 10000
  • 同步中繼日誌 10000
  • 同步中繼日誌資訊 10000
  • system_time_zone UTC
  • table_definition_cache 20000
  • table_open_cache 6000
  • table_open_cache_instances 16
  • 執行緒記憶體大小 58
  • 執行緒並發 10
  • thread_handling 每個執行緒的多個連接
  • 執行緒堆棧 262144
  • time_format %H:%i:%s
  • 時區系統
  • timed_mutexes 關閉
  • 時間戳 1531841565
  • tmp_table_size 16777216
  • tmpdir /rdsdbdata/tmp/
  • 事務分配塊大小 8192
  • transaction_allow_batching 關閉
  • transaction_prealloc_size 4096
  • tx_isolation 可重複讀取
  • tx_read_only 關閉
  • unique_checks 開啟
  • update_views_with_limit 是
  • user_disable_external_log 關閉
  • 版本 5.6.10
  • version_comment MySQL 社區伺服器 (GPL)
  • version_compile_machine x86_64
  • version_compile_os Linux
  • 等待超時 28800
  • 警告計數 0

innodb_buffer_pool_size不在那裡很好。

即使您可以操縱它的價值,Aurora 的最佳實踐表明您應該不理會它。請注意最佳實踐文件在小標題下所說的內容Default parameter values and their importance

某些數據庫實例參數包含變數或公式,其中的值由常量確定。範例是實例的大小和記憶體佔用、實例的網路埠及其分配的儲存。最好保持這些不變,因為只要執行實例放大或縮小操作,它們就會自動調整。

例如,Aurora DB 參數 innodb_buffer_pool_size 預設為:

{DBInstanceClassMemory*3/4}

DBInstanceClassMemory 是一個變數,設置為您的實例的記憶體大小(以 GiB 為單位)。

範例:對於具有 30.5 GiB 記憶體的 db.r4.xlarge 實例,此值為 20,090,716,160 字節或 18.71 GiB。

假設我們決定將此參數設置為固定值,例如 18,000,000,000 字節,然後我們對 db.r4.large 執行縮減操作,它的記憶體只有一半 (15.2 GiB)。在這種情況下,我們很可能會在修改數據庫引擎後遇到記憶體不足的情況,並且實例無法正常啟動。

由於 MySQL 5.7 允許具有 SUPER 權限的使用者動態調整 Buffer Pool 的大小,因此將其設置為固定值是沒有意義的。就讓亞馬遜來處理吧。這使 Aurora 具有超越 RDS 的優勢,其緩衝池可根據記憶體供需進行擴展。

我知道這個問題被標記為mysql-5.6。這意味著 InnoDB 緩衝池不能動態調整大小(需要重啟實例才能生效)。我為 MySQL 5.7 提到的原則仍然適用,因此更改innodb_buffer_pool_size將相當於更改 Instance Class。在不危及實例到 OOM 條件的情況下,仍然可以滿足記憶體需求。

嘗試:

SHOW GLOBAL VARIABLES like 'INNODB_BUFFER%';

另一種方法是選擇變數:

select @@INNODB_BUFFER_POOL_SIZE;

引用自:https://dba.stackexchange.com/questions/212881