zoukankan      html  css  js  c++  java
  • 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  (即使电池没电了,也要写缓存),这样有了点冒险,但是大幅度的提高了写性能,我觉得利大于弊吧。具体的设置如下图:

  • 相关阅读:
    关于java和jvm的思考
    java之try、catch、finally
    Microsoft SQLServer有四种系统数据库
    HDU 5087
    uva639 暴力、回溯
    uva127
    uva 131
    洛谷 P2580 于是他错误的点名开始了
    字典树(trie)
    HTML学习笔记
  • 原文地址:https://www.cnblogs.com/zjd2626/p/7214555.html
Copyright © 2011-2022 走看看