• 締切済み

RAID0に高速で書き込む方法

VC++を使って、Windows2000,XPのプログラムを作成しています。 現在、1秒間に70MB程度のデータを書き込む必要があり、RAID0を使っているのですが、RAID0を使っていない、普通のハードディスクの方が書き込みが早いです。 方法としては、 CFile::SetLengthでファイルの大きさを決めて CFile::Writeで書き込んでいます。 RAID0に高速書き込みする方法があれば、教えてください。よろしくお願いします。

みんなの回答

回答No.1

ディスク障害の事は今回なしにしますが 機器構成がかかれていないのでなんともいえませんよ ちゃちなホストアダプタだと それこそなんちゃってカードで速度でないですし 高価なカードを使ってもそれを処理する本体が 遅ければ速度はでませんし・・・・ まず 全体のレスポンスを測ってからでないと なぜ書き込みが遅いのかの原因を知っておかないと なんぼアプリケーションが最速にチューンされても どこが遅いのか分かりずらいですよ 現に、「RAID0で無い方が早い」時点で アプリ側ではなさそう。 通常、高速な処理ができるカードなら 細かな設定ができるはず(書き込みブロックを調整できる)

関連するQ&A

  • RAID0に高速で書き込む方法(補足)

    VC++を使って、Windows2000,XPのプログラムを作成しています。 現在、1秒間に70MB程度のデータを書き込む必要があり、RAID0を使っているのですが、RAID0を使っていない、普通のハードディスクの方が書き込みが早いです。 方法としては、 CFile::SetLengthでファイルの大きさを決めて CFile::Writeで書き込んでいます。 RAID0に高速書き込みする方法があれば、教えてください。よろしくお願いします。 使っているマシンのスペックは低くありません。 CPUは2GのXEONが2つついています。 HDBENCHというベンチマーク用ソフトウエアでRAID0のハードディスクを確認したところ、100000KB/sec以上の結果が出ました。 しかし、なぜか私の作ったプログラムでは、RAID0を使っていないHDで、ベンチマークの結果も50000KB/sec程度のHDの方が結果が良かったです。 書き込みブロックも変更して試したのですが、良い結果は出ませんでした。 現状の感じとしては、RAID0に書き込むと、遅延書き込みが起きているけれど、RAID0でない場合は、遅延書き込みの頻度が少ない感じがします。 書き込むたびに、CFile::Flushを呼ぶことで遅延書き込みはなくなるのですが、書き込みは早くありませんでした。

  • RAID0に高速で書き込む方法(補足2)

    昨日から、たびたび質問させていただいています。 困っているので、教えてください。 下に、ハードディスクにデータを取り込むテストプログラムの一部を載せます。不必要と思われる部分は省かせていただいたので、少々バグが含まれていたり、変数の意味がわからないところがあるかもしれませんが、ご勘弁ください。 CFile file( m_strPath, CFile::modeCreate | CFile::modeReadWrite ); DWORD dwSize; dwSize = 2000000000; file.SetLength( dwSize ); file.SeekToBegin(); DWORD dwTick = GetTickCount(); DWORD aSize = 32 * m_dwSectorsPerCluster * m_dwBytesPerSector; char* buf = new char[ aSize ]; if( buf != NULL ) { DWORD pos; for( pos = 0; pos < dwSize; pos += aSize ) { file.Write( buf, aSize ); } CString str; str.Format( "%d ms for %g MB", GetTickCount() - dwTick, dwSize * 0.001 * 0.001 ); AfxMessageBox( str ); } 最後に書き込んだ大きさと、かかった時間を表示しています。 よろしくお願いします。

  • RAIDの作成方法

    ハードディスクを2個かったので、RAIDを作成しようと思ったのですが、説明書が英語のためよくわかりません。 方法を教えてください。

  • RAId 0

    現在2台のハードディスクを用いてマザーボードのRAID機能でRAID 0を構築しています。 RAID 0だと故障時が怖いのでRAID 1&RAID 5に変更したいと考えていますがその場合BIOSでRAIDに変更するだけで行けるものでしょうか?データなどは保持されますか? またRAID 0でwindows7のシステムイメージを作成していますが復元できるかがきになります。

  • ファイルの読み込みが遅い

    VC++6で、CSVファイル読み込むプログラムを作成しています。件数は、1万件ほどで、ファイルサイズは、20MBぐらいです。 CFile&CArchiveで、一行ずつ読み込んでいるのですが、徐々に遅くなっていきます。これは、しょうがないのでしょうか? 改善する方法は、あるでしょうか? よろしくお願いします。

  • RAIDに関する質問

    RAIDに詳しい方がいらっしゃいましたら、是非教えて下さい。 データの読み取り、並びに書き込みが早く、且つ不足の事態が生じた時にデータを完全に回復させることが出来るようなRAIDの組み方はありますか? 世間一般的によく知られているRAID0 , RAID1 , RAID5 , RAID10等では上記のようなRAIDを組むことが難しいと思います。 又、私が知っている限りでは、マイナーであるRAID6はダブルパリティということですが、HDD(SSDを含む)が2台までクラッシュした場合迄はリビルドによりデータの回復が出来るようですが、3台以上クラッシュした場合は難しいようです。 RAIDのストライピングを用いてデータの読み込みを早くさせる一方、それとは別に別途ハードディスク上に全てのデータを常に保持させるような方法はあるのでしょうか?( RAID + アルファ )

  • 【PRO7000】ICH10RのRAID1でreadが遅くなる

    【PRO7000】ICH10RのRAID1でreadが遅くなる PRO7000を購入して、SSD1台(INTEL X25M)、HDD2台(シーゲートST31000528AS×2)でRAIDを組むことにしました。 SSD: INTEL X25M (non-RAIDでOS起動用) HDD:ST31000528AS×2台(RAID1としてデータドライブ) OS: Windows XP SP3 「CTL+I」にてユーティリティに入り、上記の如くRAID1を構成後、OSをSSDにインストールして、Crystaldiskmark3.0にてベンチマークをとりました。シーケンシャルreadが40MB/s、writeは120MB/sと、readのみがかなり遅くなってしまいます。ちなみにnon-RAID時に上記ドライブはread/writeともに120MB/s程でます。 ちなみにSSDをはずして、RAID1アレイにOSをインストールすると、ベンチマークではread/writeともに120MB/sと、単体ドライブと同程度のスピードがちゃんと出ます。 さらに、上記HDDをいったん単体に戻した後、RAID0を構成すると、read240MB.s, write120MB/sと、しっかり速くなります。 単体ドライブにOSをインストールしたときのRAID1アレイのread速度低下、原因はいったい何なのでしょうか。 ご存知の方がおられましたらぜひお教え下さい。

  • RAID0を2セット

    自作PCのHDDが痛んできたため【intel X-25M 80GB】4台を購入しRAID0を組みたいと考えています。 読み込み速度低下を抑えるには、起動・アプリは分けた方が良いと情報を得たため以下の構成で考えています。 ●起動用  2台【80GB】 ←2台でRAID0構成 ●アプリ用 2台【80GB】 ←2台でRAID0構成 それぞれRAID0で使用することは可能でしょうか? それとも、私の構成方法が誤ってるのでしょうか。 また可能ならば、必要パーツ等ご教授頂ければ幸いです。 ※参考になればいいのですが、現状PCのスペックです。 MB:P5B Deluxe(RAID対応?) CPU:Q9650 RAM:PC2-6400/1GB×4 GPU:8800GT HDD:WD1500ADFD OS:Windows XP HOME

  • RAIDについて

    インテルMatrix Storage Console8.6を使用しています。 (MBはASUS P5K PRO,cpuはCore2Duo) 構成は500GBのHDD2台でパーティション400GBを割り当てて、RAID1ミラーリングで起動用としてWindowsXPProで使用しています。 (OSは正常に起動し問題なく動作。) そして、パーティションの残り100GBをRAID0のスプライシングとして使用したいのですが、可能なのでしょうか? パソコン起動時にCTRL+Iにてツールを立ち上げて100GBをRAID0として割り当てる事はでき、Matrix Storage Consoleで見ることもできますが、OS(windows xp)のマイコンピュータやエクスプローラでフォーマットする事ができません。 つまり、新しいドライブとして認識する事ができません。 同じHDDでRAID0とRAID1を混在する事は無理なのでしょうか? でも、なぜMatrix Storage ConsoleではRAID0とRAID1の両方が存在しているのでしょうか? どうすればよいのでしょうね? 誰かご存知でしたらご教授願います。

  • RAID1かRAID5で迷っています

    会社でRAID6に対応していないNASを貰い受けるのですが、RAID方式を1にするか5にするかで導入担当者(金を出す。形式上の管理者)と運用管理者(実質の管理者。設定を行う)で喧々諤々です。 例えば、ハードディスク物理障害時の復旧にしても、 1)RAID1であれば障害HDを交換しミラー復旧で容易に原状復帰できる、NASも止める必要はない 2)RAID5では構成ディスクが多い分、HDが1台壊れたところでゆっくり復旧すればいいし、パリティがあるので安心 3)構成ディスクが多くても故障率は高いし、リビルドで復旧している最中に2台目のHDが壊れる可能性も高い 4)2台目が壊れたらデータを取り出せないのはるRAID1も同じ。RAID1は古い技術だから復旧技術が信用できない 5)古いかどうかはわからないが、現行機種で対応している技術なので問題ない という議論の繰り返しです。 懐疑するたびに同じことを言ってます。 質問です。 以下のような条件では、RAID1とRAID5、どちらを勧めますでしょうか。 速度:高速読み込み、書き込みを求めない データ:MS-Officeデータから動画データまで様々 冗長性:NAS本体1台でHD容量は十分。バックアップ機を平行運用する必要はない 障害発生時:報告しない者が多い、復旧対応でNASを停止する時間は短いほうが良い 障害対応:PCに詳しいものが作業に当たれる 他:適当に操作し、事後に嘘の報告をする人間が多いので("なにも操作してない"等)、RAID5のように再起動で復旧→報告なしで運用実行可能という事態は避けたい 自分でも調べてみましたが、結局答えが見つかりません。 RAID1のほうが安定使用と復旧が容易な点で優れているので目的に適うのではないかと思いますが。。。

専門家に質問してみよう