May 18, 2013

Innodb:如何计算异步/同步刷脏及checkpoint的临界范围

本文主要是记录Innodb在初始化日志子系统时,如何计算异步/同步刷脏或checkpoint的临界范围 代码分析基于MySQL 5.6.11 /////////////////////////////////////////////////////////////////////////////////////////////// 相关配置为: innodb_log_buffer_size=200M innodb_log_file_size=1000M innodb_log_files_in_group=4 innodb_flush_log_at_trx_commit = 1 innodb_thread_concurrency = 64   刷脏和做checkpoint的临界条件在系统启动初始化日志系统时即被确定了,backtrace 如下: innobase_start_or_create_for_mysql      ->log_group_init 2151                 log_group_init(0, i, srv_log_file_size * UNIV_PAGE_SIZE, 2152                                SRV_LOG_SPACE_FIRST_ID, 2153                                SRV_LOG_SPACE_FIRST_ID + 1);                    ->log_calc_max_ages                        log_calc_max_ages:   […]