RAID write back write through

RAID write back指的是raid控制器能够将写入的数据写入自己的缓存中,并把它们安排到后续再执行,这样做的好处就是不需要等实际写入磁盘再返回,因此写入更快。对于数据库而言,这一点更为重要,对重做日志的写入,sync_binlog为1的情况下二进制日志写入,脏页的刷新等,都可以有很大的提升。

但是这样有个弊端就是系统发生意外,数据还在缓存中没有写入磁盘。大多数硬件RAID提供了电池备份单元,因此可以放心的开启write back。

如果没有开启write back,那么控制器现实就是write through,即直接写入到磁盘,不会先写入自己的缓存,但是安全性是最高的。

测试:

20w条记录的存储过程,实际执行了20w次的事务:

write back  43秒

write through 31分钟

write through with innodb_flush_log_at_trx_commit=0  68秒

write back 是write through大约40倍的差距。

innodb_flush_log_at_trx_commit=0即重做日志的写入不是再事务提交的时候进行刷新,而是再master thread每秒钟刷新的时候进行的,因此减少了物理磁盘的写入,执行速度明显提高

你可能感兴趣的:(write)