2017-09-13 41 views
0

2017-09-12T19:04:53.549339Z 0 [注] InnoDB:page_cleaner:1000ms預期循環花費了23911ms。這些設置可能不是最佳的。 (在此期間刷新= 200,被驅逐= 0)。Percona社區版和MySql社區版給出了「InnoDB:page_cleaner:1000ms預期循環花了0ms」?

我在Percona Community Edition和MySql Community Edition上得到這個錯誤。我想知道這是否只是Percona和MySql社區版的問題......升級到企業版的MySQL有助於解決這個問題嗎?

有幾個帖子提出了有關將innodb_lru_scan_depth從默認1024降低到256的建議。這並不能真正解決此問題。想知道有沒有人在企業版上遇到過這個問題?

[Updating post to include SHOW VARIABLES like 'innodb%'] 
sql> show variables like 'innodb%'; 
+------------------------------------------+------------------------+ 
| Variable_name       | Value     | 
+------------------------------------------+------------------------+ 
| innodb_adaptive_flushing     | ON      | 
| innodb_adaptive_flushing_lwm    | 10      | 
| innodb_adaptive_hash_index    | ON      | 
| innodb_adaptive_hash_index_parts   | 8      | 
| innodb_adaptive_max_sleep_delay   | 150000     | 
| innodb_api_bk_commit_interval   | 5      | 
| innodb_api_disable_rowlock    | OFF     | 
| innodb_api_enable_binlog     | OFF     | 
| innodb_api_enable_mdl     | OFF     | 
| innodb_api_trx_level      | 0      | 
| innodb_autoextend_increment    | 64      | 
| innodb_autoinc_lock_mode     | 1      | 
| innodb_buffer_pool_chunk_size   | 134217728    | 
| innodb_buffer_pool_dump_at_shutdown  | ON      | 
| innodb_buffer_pool_dump_now    | OFF     | 
| innodb_buffer_pool_dump_pct    | 25      | 
| innodb_buffer_pool_filename    | ib_buffer_pool   | 
| innodb_buffer_pool_instances    | 8      | 
| innodb_buffer_pool_load_abort   | OFF     | 
| innodb_buffer_pool_load_at_startup  | ON      | 
| innodb_buffer_pool_load_now    | OFF     | 
| innodb_buffer_pool_size     | 53687091200   | 
| innodb_change_buffer_max_size   | 25      | 
| innodb_change_buffering     | all     | 
| innodb_checksum_algorithm    | crc32     | 
| innodb_checksums       | ON      | 
| innodb_cmp_per_index_enabled    | OFF     | 
| 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_deadlock_detect     | ON      | 
| innodb_default_row_format    | dynamic    | 
| innodb_disable_sort_file_cache   | OFF     | 
| innodb_doublewrite      | ON      | 
| innodb_fast_shutdown      | 1      | 
| innodb_file_format      | Barracuda    | 
| innodb_file_format_check     | ON      | 
| innodb_file_format_max     | Barracuda    | 
| innodb_file_per_table     | ON      | 
| innodb_fill_factor      | 100     | 
| innodb_flush_log_at_timeout    | 1      | 
| innodb_flush_log_at_trx_commit   | 2      | 
| innodb_flush_method      | O_DIRECT    | 
| innodb_flush_neighbors     | 1      | 
| innodb_flush_sync      | ON      | 
| innodb_flushing_avg_loops    | 30      | 
| innodb_force_load_corrupted    | OFF     | 
| innodb_force_recovery     | 0      | 
| innodb_ft_aux_table      |      | 
| innodb_ft_cache_size      | 8000000    | 
| innodb_ft_enable_diag_print    | OFF     | 
| 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_capacity      | 15000     | 
| innodb_log_files_in_group    | 2      | 
| innodb_log_group_home_dir    | ./      | 
| innodb_log_write_ahead_size    | 8192     | 
| innodb_lru_scan_depth     | 256     | 
| innodb_max_dirty_pages_pct    | 75.000000    | 
| innodb_max_dirty_pages_pct_lwm   | 0.000000    | 
| innodb_max_purge_lag      | 0      | 
| innodb_max_purge_lag_delay    | 0      | 
| innodb_max_undo_log_size     | 1073741824    | 
| innodb_monitor_disable     |      | 
| innodb_monitor_enable     |      | 
| innodb_monitor_reset      |      | 
| innodb_monitor_reset_all     |      | 
| innodb_numa_interleave     | OFF     | 
| innodb_old_blocks_pct     | 37      | 
| innodb_old_blocks_time     | 1000     | 
| innodb_online_alter_log_max_size   | 134217728    | 
| innodb_open_files      | 400     | 
| innodb_optimize_fulltext_only   | OFF     | 
| innodb_page_cleaners      | 4      | 
| innodb_page_size       | 16384     | 
| innodb_print_all_deadlocks    | OFF     | 
| innodb_purge_batch_size     | 300     | 
| innodb_purge_rseg_truncate_frequency  | 128     | 
| innodb_purge_threads      | 4      | 
| innodb_random_read_ahead     | OFF     | 
| innodb_read_ahead_threshold    | 56      | 
| innodb_read_io_threads     | 4      | 
| innodb_read_only       | OFF     | 
| innodb_replication_delay     | 0      | 
| innodb_rollback_on_timeout    | OFF     | 
| innodb_rollback_segments     | 128     | 
| innodb_sort_buffer_size     | 1048576    | 
| innodb_spin_wait_delay     | 6      | 
| innodb_stats_auto_recalc     | ON      | 
| innodb_stats_include_delete_marked  | OFF     | 
| innodb_stats_method      | nulls_equal   | 
| innodb_stats_on_metadata     | OFF     | 
| innodb_stats_persistent     | ON      | 
| innodb_stats_persistent_sample_pages  | 20      | 
| innodb_stats_sample_pages    | 8      | 
| innodb_stats_transient_sample_pages  | 8      | 
| innodb_status_output      | OFF     | 
| innodb_status_output_locks    | OFF     | 
| innodb_strict_mode      | ON      | 
| innodb_support_xa      | ON      | 
| innodb_sync_array_size     | 1      | 
| innodb_sync_spin_loops     | 30      | 
| innodb_table_locks      | ON      | 
| innodb_temp_data_file_path    | ibtmp1:12M:autoextend | 
| innodb_thread_concurrency    | 16      | 
| innodb_thread_sleep_delay    | 0      | 
| innodb_tmpdir       |      | 
| innodb_undo_directory     | ./      | 
| innodb_undo_log_truncate     | OFF     | 
| innodb_undo_logs       | 128     | 
| innodb_undo_tablespaces     | 0      | 
| innodb_use_native_aio     | ON      | 
| innodb_version       | 5.7.18     | 
| innodb_write_io_threads     | 16      | 
+------------------------------------------+------------------------+ 
+0

我懷疑社區與企業在這方面沒有代碼差異。 –

+0

謝謝,瑞克。曾經遇到過上述錯誤?任何經過測試的解決方案和解決方案? – user8604757

+0

不可以。你能詳細說明當時發生了什麼嗎? –

回答

0

(不是一個答案,但一些信息和鏈接從更新日誌) (鏈接是相對於dev.mysql.com)

----- 2015年8月3日發佈5.7.8候選 - 功能增加或改變 - 的InnoDB -----

爲innodb_purge_threads(/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_purge_threads)和innodb_page_cleaners(/ DOC/refman默認值/ 5.7/en/innodb-parameters.html#sysvar_innodb_page_cleaners)從1更改爲4.如果頁面清理器線程數超過緩衝池實例數,則innodb_p age_cleaners(/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_cleaners)自動設置爲與innodb_buffer_pool_instances(/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instances)相同的值。

----- 2014年9月25日5.7.5里程碑15 - 功能增加或改變 - InnoDB的-----

爲了獲得最佳的關斷和恢復性能,停機和恢復階段,現在是由MySQL 5.7.4中引入的多線程頁面清理器功能(innodb_page_cleaners(http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_cleaners))支持。 (錯誤#18805275)

----- 2014-03-31 5.7.4里程碑14 - 功能增加或改變 - InnoDB的,性能-----

的InnoDB現在支持多個線程page_cleaner用於從緩衝池實例中清除髒頁。一個新的系統變量innodb_page_cleaners用於指定page_cleaner線程的數量。默認值1維護只有一個page_cleaner線程的pre-MySQL 5.7.4配置。此增強功能基於MySQL 5.6.2中完成的工作,該工作引入了單頁面清理器線程,以從InnoDB主線程卸載緩衝池清除工作。

----- 2011-10-03 5.6.3里程碑6 - 功能增加或改變 - InnoDB的,性能-----

工作繼續卸載從沖洗(http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_flush)操作InnoDB主線程,而不是在page_cleaner線程中執行它們。對緩衝池刷新算法的最新更改可以提高某些I/O限制工作負載的性能,特別是在具有多個緩衝池實例的配置中。您可以通過調整innodb_lru_scan_depth(http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_lru_scan_depth)和innodb_flush_neighbors(http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_flush_neighbors)配置選項的設置來控制此功能。要找到最佳設置,請將上述設置的每個組合與自適應哈希索引(http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_adaptive_hash_index)和雙寫緩衝區(http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_doublewrite_buffer)都打開和關閉。有關更多詳細信息,請參閱調整InnoDB緩衝池刷新(http://dev.mysql.com/doc/refman/5.6/en/innodb-lru-background-flushing.html)。

=======

推薦閱讀背景沖洗的文章,點擊Affects me在bugs.mysql.com任何相關的錯誤,如 81899和/或 76661

另外,... innodb_io_capacity = 15000似乎很高,即使是SSD。

+0

謝謝,裏克!我將通過上面的鏈接並使用各種配置參數來查看。再次感謝! – user8604757

+0

嗨瑞克...我試着改變my.cnf中的幾個參數。然而,沒有任何工作......問題依然存在:-(只是想知道這是否是MySQLCommunity Edition中的一個錯誤..遇到這個帖子 - https://bugs.mysql.com/bug.php?id=76661。 – user8604757

+0

配置更改:\t [09/14] = innodb_buffer_pool_size 50GB \t innodb_io_capacity = 15000 \t innodb_io_capacity_max = 25000 \t innodb_lru_scan_depth = 256 \t innodb_write_io_threads = 16 [09/21] \t innodb_flush_neighbor = 0 [09/22 ] \t innodb_log_file_size = 100GB \t innodb_log_files_in_group = 5 [09/25] \t innodb_change_buffer_max_size = 50 \t innodb_log_buffer_size = 4GB \t innodb_max_dirty_pages_pct_lwm = 30 \t innodb_thread_concurrency參數= 0 \t innodb_write_io_threads = 64 [09/26] \t innodb_concurrency_tickets = 500 \t innodb_lru_scan_depth = 512 \t innodb_thread_concurrency參數= 16 – user8604757