RAID5: ライトスルー・ライトバックによるディスクパフォーマンス性能の違い・性能差

 

RAIDカード(アレイコントローラ機能)の設定、ライトスルーとは?ライトバックとは?

ライトスルー・ライトバックの設定が可能なアレイコントローラは、キャッシュを搭載したアレイコントローラの場合になります。
(場合によってはアレイコントローラにBBU(バッテリバックアップユニット)も必要になります)
ライトスルー・ライトバックとは、ディスク書き込みに関する書き込みロジック(書き込みポリシー)になります、ではライトスルー・ライトバックの違いを説明します

ライトスルーとは?(write through)

ライトスルーとは、OS やアプリケーションからハードディスク(アレイ)への書き込みが実行された際、ハードディスクへの書き込みが完了するのを待ってから書き込み完了と判断します。
(上記図参照)

ライトバックとは?(write back)

ライトバックとは、アレイコントローラ上のキャッシュメモリにデータを書き込んだ直後に書き込み完了となります。
実際のハードディスクへの書き込みはアレイコントローラが OS 動作とは非同期に後から実施します。
(上記図参照)

ライトスルーとライトバックの違い

HDD への書き込みが機械的な動作を伴うのに対して、キャッシュメモリは電気的に動作するため、直接HDD にアクセスせずにキャッシュメモリで制御を完了することで、飛躍的な性能向上が見込まれます(ライトバックの場合)。
ライトバック設定はライト時に高速制御のキャッシュメモリの特性を最大限発揮させるために有効な手段となります。

逆にライトスルーでは、HDDへ書き込みが機械的に動作しているため、電気的な問題が起きても(停電)キャッシュメモリのようにフラッシュ(データが無くなる)することは無いと言える、安全な書き込み方式である。
そのため、アレイコントローラの標準設定(デフォルト設定)がライトスルーに設定されている事が多い。

上記、ライトスルーとライトバックの書き込みロジックを考慮すると、アレイコントローラにキャッシュがあり、BBU(バッテリバックアップユニットつまりアレイコントローラのバッテリ)がある場合の設定であるとこがわかると思います。



アレイコントローラ設定(ライトスルー・ライトバック)によるRAIDパフォーマンス性能差


ディスクパフォーマンステスト環境

概要を示す、詳細は一番最後に説明
OS: Windows Server 2008 R2 Enterprise Edition
アレイカード: FTS RAID Ctrl SAS 6G 5/6 512MB(D2616)
RAIDレベル: RAID5
物理ディスク: SEAGATE ST3450857SS SAS 450GB 15krpm 4本構成

ディスクパフォーマンス測定テストソフト
CrystalDiskMark 3.0.1 x64

ライトスルー設定時の読み書き性能(メーカー標準)測定結果

アレイコントローラキャッシュ設定
ライトモード: ライトスルー
リードモード: read-ahead(先読み)無し
キャッシュモード: ダイレクト
ディスクキャッシュモード: 無効
参考: PRIMERGY(プライマジー) アレイコントローラの機能と設定および操作 : 富士通


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   575.193 MB/s
          Sequential Write :    25.468 MB/s
         Random Read 512KB :    82.782 MB/s
        Random Write 512KB :    20.110 MB/s
    Random Read 4KB (QD=1) :     1.290 MB/s [   314.9 IOPS]
   Random Write 4KB (QD=1) :     0.476 MB/s [   116.3 IOPS]
   Random Read 4KB (QD=32) :     9.973 MB/s [  2434.8 IOPS]
  Random Write 4KB (QD=32) :     2.423 MB/s [   591.7 IOPS]

  Test : 4000 MB [D: 9.0% (105.5/1176.0 GB)] (x5)
  Date : 2012/01/27 14:19:46
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
  

ライトバック設定時の読み書き性能測定結果

アレイコントローラキャッシュ設定
ライトモード: 常時ライトバック(BBUに依存しない)
リードモード: read-ahead(先読み)無し
キャッシュモード: ダイレクト
ディスクキャッシュモード: 無効


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   606.201 MB/s
          Sequential Write :   524.550 MB/s
         Random Read 512KB :    93.222 MB/s
        Random Write 512KB :    84.823 MB/s
    Random Read 4KB (QD=1) :     1.368 MB/s [   334.0 IOPS]
   Random Write 4KB (QD=1) :     2.946 MB/s [   719.3 IOPS]
   Random Read 4KB (QD=32) :    10.129 MB/s [  2472.9 IOPS]
  Random Write 4KB (QD=32) :     2.755 MB/s [   672.7 IOPS]

  Test : 4000 MB [D: 12.4% (145.6/1176.0 GB)] (x5)
  Date : 2012/01/27 19:32:44
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
  


参考: ディスクキャッシュモード有効(設定変更)読み書き性能測定結果

アレイコントローラキャッシュ設定
ライトモード: 常時ライトバック(BBUに依存しない)
リードモード: read-ahead(先読み)無し
キャッシュモード: ダイレクト
ディスクキャッシュモード: 有効


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   602.457 MB/s
          Sequential Write :   557.827 MB/s
         Random Read 512KB :    77.596 MB/s
        Random Write 512KB :    57.242 MB/s
    Random Read 4KB (QD=1) :     1.383 MB/s [   337.7 IOPS]
   Random Write 4KB (QD=1) :     2.863 MB/s [   699.0 IOPS]
   Random Read 4KB (QD=32) :    10.157 MB/s [  2479.7 IOPS]
  Random Write 4KB (QD=32) :     3.051 MB/s [   744.8 IOPS]

  Test : 4000 MB [D: 12.4% (145.6/1176.0 GB)] (x5)
  Date : 2012/01/27 19:25:23
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
  

参考: キャッシュモードキャッシュ有り(設定変更)読み書き性能測定結果

アレイコントローラキャッシュ設定
ライトモード: 常時ライトバック(BBUに依存しない)
リードモード: read-ahead(先読み)無し
キャッシュモード: キャッシュ有り
ディスクキャッシュモード: 有効


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   575.508 MB/s
          Sequential Write :   561.111 MB/s
         Random Read 512KB :    78.486 MB/s
        Random Write 512KB :    60.543 MB/s
    Random Read 4KB (QD=1) :     1.405 MB/s [   343.0 IOPS]
   Random Write 4KB (QD=1) :     2.665 MB/s [   650.6 IOPS]
   Random Read 4KB (QD=32) :    11.067 MB/s [  2701.8 IOPS]
  Random Write 4KB (QD=32) :     3.250 MB/s [   793.5 IOPS]

  Test : 4000 MB [D: 12.7% (149.6/1176.0 GB)] (x5)
  Date : 2012/01/27 19:17:09
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
  

参考: リードモードRead-ahead(先読み)(設定変更)読み書き性能測定結果

アレイコントローラキャッシュ設定
ライトモード: 常時ライトバック(BBUに依存しない)
リードモード: read-ahead(先読み)
キャッシュモード: キャッシュ有り
ディスクキャッシュモード: 有効


-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   391.662 MB/s
          Sequential Write :   561.036 MB/s
         Random Read 512KB :    83.580 MB/s
        Random Write 512KB :    63.811 MB/s
    Random Read 4KB (QD=1) :     1.376 MB/s [   336.0 IOPS]
   Random Write 4KB (QD=1) :     2.814 MB/s [   686.9 IOPS]
   Random Read 4KB (QD=32) :    11.043 MB/s [  2696.0 IOPS]
  Random Write 4KB (QD=32) :     2.548 MB/s [   622.0 IOPS]

  Test : 4000 MB [D: 12.7% (149.6/1176.0 GB)] (x5)
  Date : 2012/01/27 19:09:55
    OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64)
  


アレイコントローラ設定(ライトスルー・ライトバック)によるRAIDパフォーマンス性能差まとめ

ライトバック設定をすると、Seq(シーケンシャル)書き込み・512K書き込みは格段にディスクパフォーマンスアップしている事がわかる。
電気的なリスク(停電・瞬電等)の無い環境では、ライトバック設定をしていて損はないパフォーマンス結果と言える。
結果的に
アレイコントローラキャッシュ設定
ライトモード: 常時ライトバック(BBUに依存しない)
リードモード: read-ahead(先読み)無し
キャッシュモード: ダイレクト
ディスクキャッシュモード: 無効
が、一般的なディスク負荷テストの測定結果としては最も良い結果になったと言える。

その他の機能として、腑に落ちないのはリードモードを「read-ahead(先読み)」にした時に、Seq(シーケンシャル)リードのパフォーマンスが落ちている点です、これはアレイコントローラの種類にもよるのかも知れません。

以下、アレイコントローラ設定のリードモードとキャッシュモードの説明になります

Read モードとは

「Read モード」パラメーターでは、読み込み中のキャッシュの動作を変えることができます。
3 種類のオプション、「No read ahead」、「Read ahead」、「Adaptive」が用意されています。
「No read ahead」では、読み取り中にキャッシュは発生しません。
オペレーティングシステムによってデータブロックが要求された場合、「Readahead」の設定では、オペレーティングシステムが後続の要求で他のシーケンシャルデータブロックを要求することを予測して、これらがハードディスクからコントローラーキャッシュに事前に読み込まれます。
「Adaptive」に設定した場合は、コントローラー自体が「Read-ahead」が適切かどうかを判断します。


キャッシュモードとは

「キャッシュモード」パラメーター(Web BIOS では「I/O キャッシュ」として参照されます)は、コントローラーキャッシュの読み取り動作にも影響します。
「Direct」オプションにより、読み取るデータをハードディスクから直接読み取るのかどうか、また、コントロールキャッシュに保存しないのかどうかが決まります。
別のオプション「Cached」に設定すると、ハードディスクにアクセスする前にまずコントローラーキャッシュ内に読み取り要求を満たすデータがないかの検索が行われ、後続の読み取り要求で使用できるように、すべてのデータがコントローラーキャッシュに書き込まれます。




参考: テスト環境、アレイコントローラ設定詳細説明

アダプタ全般

アダプタ設定

論理ドライブ全般

論理ドライブ設定

論理ドライブレイアウト


サブページ リスト

作成日:2012/01/29
更新日:
Comments