raid write back / write throught

Posted 遥远的绿洲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了raid write back / write throught相关的知识,希望对你有一定的参考价值。

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

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

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

 

write-through

数据在写入存储的同时,要写入缓存,这种方式安全但是会牺牲写性能,因为只有等数据完全落入硬盘后,才算是一次io完成,这个过程会造成cpu的iowait。

write-back

数据直接写入缓存,写缓存的速度是远远大于写磁盘的,所以这种方式可以提高服务器的写性能。也许你会想当断电了怎么办?不用担心,raid卡是有电池的,完全可以支持缓存中的数据再写入磁盘。除非点背,raid卡电池也没电了。(具体什么时候缓存中的数据会写入硬盘,这个我不是很清楚)

我们生产环境用的就是write-back,就是并且还设置了force write-back  (即使电池没电了,也要写缓存),这样有了点冒险,但是大幅度的提高了写性能,我觉得利大于弊吧。具体的设置如下图:

以上是关于raid write back / write throught的主要内容,如果未能解决你的问题,请参考以下文章

DELL H730P写策略write-through和write-back配置说明

计算机的Cache和Memory访问时Write-back,Write-through及write allocate的区别。

Cache写机制:Write-through与Write-back

三种缓存策略:Cache Aside 策略Read/Write Through 策略Write Back 策略

三种缓存策略:Cache Aside 策略Read/Write Through 策略Write Back 策略

为啥 Json.writes[T] 需要一个 `apply` 方法?