コンピュータの進化の特徴は、高速化と大容量化が甚だしいということだ。ユーザが高度なアプリケーションをインストールしたり、創造的な活動のためにコンピュータを利用したりするにつれて、ストレージに対する要求はどんどん大きくなってきている。よく使われるOSSアプリケーションを実行している普通のLinuxデスクトップの場合でも、RAIDを使用すればディスク性能を向上させることができる。
連続したブロックからデータを読み取る場合でも、普通のハードディスクはメモリの100倍ほど低速だ。データがディスク全体に散らばっている場合には、性能はさらに低くなる。それに加えてマルチタスクをさせた場合、普通のコンピュータであれば画面上のプログレスバーはほとんど進まなくなってしまう。しかし嬉しいことにLinuxデスクトップならば、コスト意識の高いユーザにもRAID(Redundant Arrays of Independent Disks)が手の届くところにある。
今回、2台のまったく同じSerial ATAハードディスクを搭載した平均的なデスクトップマシン上で、RAIDがどの程度性能を向上させることができるのかを見るためのテストを行なった。使用したデスクトップの内容は次の通りだ。
| システム | |
|---|---|
| プロセッサ | AMD BE-2400(デュアルコア、2.3 GHz) |
| マザーボード | MSI K9MM-V(MicroATX、1.5 Gbps SATA 2チャンネル) |
| メモリ | 1 GB×2枚(OCZデュアルチャネルDDR2 800) |
| ハードディスク | 160 GB×2台(Hitachi Deskstar 7K250) |
| ソフトウェア | |
| OS/デスクトップ環境 | Kubuntu 7.10 32-bit、KDE 3.5.8 |
| プロダクティビティアプリケーション/ブラウザ | OpenOffice.org 2.3、Firefox 2.0.0.11 |
| 開発環境 | KDevelop 3.5.0、GCC/G++ 4.1.3 |
| マルチメディア | Kino 1.1.0、Gwenview 1.4.1 |
RAIDによる性能向上を把握しやすくするために、KDEベースのLinuxデスクトップ上で3種類の異なるディスク構成を使用して性能を調べてみた。
- ハードディスク1台
- ハードディスク2台でストライピング(RAID 0)
- ハードディスク2台でミラーリング(RAID 1)
目的は、ハードディスク2台の構成(上記の2番目と3番目)の場合に、ハードディスク1台の構成(上記の1番目)と比較してどれほどの性能向上があるのかを明らかにすることだ。そのため3つの構成のそれぞれにおいてディスクを激しく使用するタスクを実行して、その実行時間を測定した。なおタスクは次のような3つのタイプのユーザを想定して、日常的に繰り返し行なう必要のある代表的な操作を選んだ。
- プロダクティビティアプリケーションとマルチタスク
- システムの起動(KDEセッション――ウェブブラウザ、IM、電子メール、音楽プレイヤ、ファイルマネージャ――の起動を含む)
- マルチタスク(軽度)――CDへの書き込みをしながらOpenOffice.org Writerを起動
- マルチタスク(重度)――ディスクの負荷が高い状態(バックグラウンドでslocateを実行して全ファイルのインデックスを作成)でFirefoxを起動
- ソフトウェア開発
- KStarsをコンパイル
- KDevelopを起動
- KDevelopを使ってKStarsのコードを変更/デバッグ
- KDE Education Projectのソースツリーからファイルを検索
- コンテンツ作成とエンターテイメント
- Kinoで生のDV形式の6分間のビデオクリップをエクスポート
- Kinoを使って6分間のビデオをエンコードし、DVD作成
- Gwenviewで1年分の写真を閲覧(1,300枚のデジタル写真を48x48の大きさのサムネイルとして表示)
