/と/ homeのソフトウェアRAID1を使用していますが、適切な速度が得られていないようです。
Md0からの読み取りで約100MB /秒を取得します。sdaまたはsdbからの読み取りで約95〜105 MB /秒を取得します。
2台のドライブから(データの読み取り中に)速度が上がると思いました。何が問題なのかわかりません。
カーネル2.6.31-18を使用しています
hdparm -tT/dev/md0
/ dev/md0:キャッシュされた読み取りのタイミング:2.00秒で2078 MB = 1039.72 MB /秒バッファリングされたディスクの読み取りのタイミング:3.01秒で304 MB = 100.96MB /秒
hdparm -tT/dev/sda
/ dev/sda:キャッシュされた読み取りのタイミング:2.00秒で2084 MB = 1041.93 MB /秒バッファリングされたディスクの読み取りのタイミング:3.02秒で316 MB = 104.77MB /秒
hdparm -tT/dev/sdb
/ dev/sdb:キャッシュされた読み取りのタイミング:2.00秒で2150 MB = 1075.94 MB /秒バッファリングされたディスクの読み取りのタイミング:3.01秒で302 MB = 100.47MB /秒
編集:RAID 1
NixCrafの次の記事をご覧ください ハウツー:LinuxソフトウェアRAIDの構築と再同期を高速化 。
ソフトウェアRAID速度に影響を与えるように調整できる/ procのさまざまな設定について説明します。 (タイトルが示すように、ビルド/同期中だけではありません。)
問題は、直感にもかかわらず、LinuxソフトウェアRAID1が1回の読み取り操作に両方のドライブを使用しないことです。速度を向上させるには、2つの別々の読み取り操作を並行して実行する必要があります。
単一の大きなファイルの読み取りは、RAID 1では決して速くなりません。
同じレベルの冗長性を実現し、期待される速度のメリットを得るには、「遠い」レイアウトのRAID10を使用する必要があります。これにより、データが削除され、2つのディスク間でミラーリングされます。ディスクはそれぞれセグメントに分割されています。 2つのセグメントがある場合、ドライブ1、セグメント1のストライプはドライブ2、セグメント2にコピーされます。ドライブ1、セグメント2はドライブ2、セグメント1にコピーされます。 詳細な説明 。
これらでわかるように ベンチマーク RAID 10、f2はRAID0と同様の読み取り速度を取得します。
RAID type sequential read random read sequential write random write
Ordinary disk 82 34 67 56
RAID0 155 80 97 80
RAID1 80 35 72 55
RAID10,n2 79 56 69 48
RAID10,f2 150 79 70 55
f2は、単に2つのセグメントを持つ遠いレイアウトを意味します。
さらに、個人的なテストでは、書き込みパフォーマンスが低下していることがわかりました。上記のベンチマークは、RAID10、f2では、書き込み速度が単一のディスクとほぼ同等であることを示していることに注意してください。速度がほぼ30%低下していることがわかりました。多くの実験の結果、IOスケジューラーをcfqからdeadlineに変更すると問題が解決することがわかりました。
echo deadline > /sys/block/md0/queue/scheduler
詳細は次のとおりです。 http://www.cyberciti.biz/faq/linux-change-io-scheduler-for-harddisk/
この設定では、約185〜190 MB/sのシーケンシャル読み取りを取得できるはずです。
どんなRAID?
0と1の任意の組み合わせは、遅延または帯域幅の非並行ベンチマークに大きな改善をもたらしません。 RAID 3/5はより良い帯域幅を提供するはずですが、遅延に違いはありません。
C。