Ind*_*dex 3 mysql innodb optimization transaction-log
我使用的MySQL版本:5.5.38
有以下参数可以控制InnoDB日志文件:
innodb_log_files_in_group- 组中的日志文件数量,默认为 2。将创建 2 个文件 ib_logfile0 和 ib_logfile1
innodb_log_group_home_dir- InnoDB 日志文件的位置。
有没有办法将每个单独的日志文件放置到它自己的位置?
主要思想是提高性能并将每个文件放置到其自己的 HDD 驱动器中。因为我有很多与 InnoDB 日志文件相关的 IO。MySQL InnoDB 日志文件的 IO 过多
将两个文件设置在两个不同的磁盘上可能对您没有帮助,因为一般来说,它们只是串行写入:
重做日志文件以循环方式使用。这意味着重做日志从第一个重做日志文件的开头到结尾写入,然后继续写入下一个日志文件,依此类推,直到到达最后一个重做日志文件。一旦写入了最后一个重做日志文件,就会从第一个重做日志文件再次写入重做日志。
(来自InnoDB 博客)。
将它们设置在与表空间不同的单独磁盘上是一个好主意,就好像您的问题是大量写入一样,因为独占 IO 将在磁盘上具有优势。它们也是 SDD 的良好候选者,因为(同样,如果您遇到事务日志 IO 问题)它们相对较小,并且通常同步写入磁盘,这与索引和数据不同。
负载平衡 IO 的另一种方法是使用吞吐量更高的 RAID 级别。RAID 1 凭借其条带化功能将为您提供更好的读取和写入能力,但建议的设置是 RAID 10 以实现冗余。
位于单独磁盘上的一个缺点是,在大多数情况下,您将无法选择执行一致的 MySQL datadir 快照。
| 归档时间: |
|
| 查看次数: |
4856 次 |
| 最近记录: |