web-dev-qa-db-ja.com

RAIDするかどうか:SSDと仮想化

Windows rot が原因でメインPCの速度が十分に低下し、おそらく再インストールする必要がある時期に近づいています。 1週間のアームレスリング、再インストール、構成を行う代わりに、VisualStudioの設定をバックアップするのを忘れたことがわかりましたもう一度、アップグレードします。私はすでにすべての部品を購入し、最適な構成を見つけるためにベンチマークを行っています。

私は2つの Crucial M4 120GB SSD(2012年4月の時点で最新のファームウェアに更新:00F)を購入し、 CrystalDiskMark を使用していくつかのクイックベンチマークを実行しています。結果は次のとおりです。

シングルドライブ:

Single drive performance

RAID 0Intel Z77チップセットコントローラー経由:

RAID 0

これらのベンチマークは明らかに網羅的ではありませんが、さまざまな構成間で何が期待できるかについての良いアイデアを私に与えてくれると思います。

私の理解では、最も一般的な使用パターン、つまりVisual Studioを使用した開発(私の主な使用法)では、ビルド中でも4Kの読み取りと書き込みがはるかに一般的です。 RAID 0とそうでないものの間には、ほとんど違いはありません。しかし、512KSequential R/Wを使用すると、違いは注目に値するほど十分です。

重要なのは、将来の腐敗の問題を回避するために、そして率直に言って、私ができるので、仮想化にもっと依存するつもりです。私の計画は、開発環境のさまざまな部分を、VMware Workstation:Visual Studioとそれに付随するツール、SQL Server、Adobe Design Suiteなどを使用して、仮想マシンにセグメント化することです。 of VMスナップショットと、新しいスナップショットの作成またはクローン作成が簡単なことで、長期的な信頼性が向上すると思います(そして、Adobeアップデートのポップアップが表示されるのは次の場合のみです)。したい)。

したがって、私の質問は、仮想化は従来のセットアップ(私の場合はOSとベア)よりもRAID 0SSD構成を使用する価値があるか-一方のSSDにメタルアプリ、もう一方のSSDにVM)?仮想化は、512KRAID 0およびSequential R/Wの長所を利用しますか?


観察:

最近のSSDの中には、ガベージコレクションを独自に管理できるものがあることを読んだので、TRIMがないことはそれほど問題ではありません。 SSDでこれを有効にする方法がわかりません。また、SSDがサポートしているかどうかもわかりません。


編集:

ディザスタリカバリに関しては、このシステムには、ファイルストレージ用の大規模な標準Platterドライブと、最終的にミラーアレイで使用するセカンダリRAIDコントローラもあります。夜間のローカルバックアップ、Carboniteを介した定期的なオフサイトバックアップ、および一貫したオフサイトソース管理チェックインと組み合わせると、データ損失を防ぐのに十分な手段があります。

8
Chad Levy

まず、コードのコンパイルは主にCPUにバインドされていることがわかっているため、単一のSSDよりも改善されるとは思わないでください。

ベンチマークでは、4k 0キューの深さのパフォーマンスは向上しませんが、4k 32キューの深さ(QD32)はほぼ直線的に増加します。 IMO、この結果があなたの決断を後押しするはずです。

ワークステーションは常に大きなキューの深さを持つデータベースサーバーではありませんが、2〜20のキューの深さは、少なくともセミインテンシブなワークステーションの使用中のバーストで一般的です-この場合、ランダムなIO RAID0を使用。VM同時OSアクティビティのレイヤーをさらに追加する(そして、最終的には2+同時VM)を使用する可能性がある)ことを考えると、このメトリックは、シナリオの状況を改善するはずです。

Windowsのパフォーマンスモニター(カウンターの追加...物理ディスク...平均読み取り/書き込みキューの深さ)で現在のキューの深さの使用状況を監視して、アイデアを得ることができます。

RAIDは複雑さの層(およびバックアップ/リカバリの問題)を追加しますが、240GBのパーティションを大きくすることは間違いなくプラスのIMOです。ドライブでRAIDを使用する前に、TRIMの問題について確認してください。

5
mtone

ハードドライブの速度は、VisualStudioの全体的なパフォーマンスにとって重要です。スコットガスリーはこれでよく触れています 投稿

マシンのマルチコアCPUは、過去数年間で十分に高速になっているため、ほとんどの一般的なアプリケーションシナリオでは、通常、マシンで使用可能なプロセッサ容量をブロックすることはありません。

Visual Studioで開発を行うと、多くのファイルの読み取り/書き込みが発生し、ディスクI/Oアクティビティの実行に多くの時間が費やされます。大規模なプロジェクトやソリューションには、数百(または数千)のソースファイル(画像、CSS、ページ、ユーザーコントロールなど)が含まれる場合があります。プロジェクトを開くとき、Visual Studioは、インテリセンスを提供するために、プロジェクト内のすべてのソースファイルを読み取って解析する必要があります。ソース管理に参加してファイルをチェックアウトすると、ディスク上のファイルとタイムスタンプが更新されます。ソリューションのコンパイルを行うと、Visual Studioは、複数のディスクパスの場所から更新されたアセンブリをチェックし、コンパイルが完了したときに複数の新しいアセンブリをディスクに書き込み、.pdbデバッガーシンボルファイルをディスク上に保持します(すべて個別のファイル保存操作として)。デバッガーをプロセスにアタッチすると(F5キーを押してアプリケーションを実行するときのデフォルトの動作)、Visual Studioは、ブレークポイントを設定するために、アプリケーションのすべてのアセンブリとDLLのデバッガーシンボルを検索して読み込む必要があります。

私の個人的な経験では、SSDの使用は大いに役立ちましたが、大量のディスクI/Oがおそらく小さなランダム読み取りであることを考えると、RAID0は大きな改善にはならないかもしれません。あなたが見つけるかもしれない他のことは、仮想ディスクI/Oがあなたの利益のいくらかを食い尽くすことです。

3
Brad Patton

Intel Z77はRAID付きのトリムをサポートしており、これを実現した最初の低予算チップセットの1つです。ただし、ストレージ設定でSSDを使用していることを指定する必要があります。

3
Daniel