Now my question is that why we should not have the collective size of innodb_log_files more than the size of the innodb_buffer_pool and why should we write to these log files though we are flushing it to the disc...?
--> 我不确定它在哪里提到innodb_buffer_pool_size
应该总是超过这个值innodb_log_files_in_group
* innodb_log_file_size
。当然!对于仅 Innodb 的安装,建议大小innodb_buffer_pool_size
应为可用内存的 70-80%,应大于默认值 8MB。
innodb_log_buffer_size
大型日志缓冲区使大型事务能够运行,而无需在事务提交之前将日志写入磁盘。因此,如果您有大事务,则使日志缓冲区更大可以节省磁盘 I/O。
innodb_log_file_size
该值越大,缓冲池中需要的检查点刷新活动就越少,从而节省磁盘 I/O。但较大的日志文件也意味着在发生崩溃时恢复速度较慢。您应该在Innodb_os_log_written
几分钟内观察变量,并估计每秒写入 InnoDB 事务日志的字节数。您可以将此值乘以 3600(一小时)并除以innodb_log_files_in_group
选择合适的日志文件大小。
innodb_log_buffer_size
使用内部记录到这些日志文件以保存光盘 I/O。