web-dev-qa-db-ja.com

Azure VMにディスクを追加するときの「ホストキャッシュ設定」設定の違いは何ですか?

VHDデータディスクをVMに追加するとき、「ホストキャッシュ設定」(なし、読み取り専用、読み取り/書き込み)を要求されます。

誰かが一方を選択した場合の効果を教えてもらえますか?

具体的には、ビルドサーバーとしてVMを使用しているため、ディスクは.Netソースコードのコンパイルに使用されます。このシナリオではどの設定が最適ですか?

30
Mark

設定が言及しているように、この設定はI/Oのキャッシュ設定をオンにします。変更すると、パフォーマンスのために読み取り、書き込み、または読み取り/書き込みの両方をキャッシュできます。たとえば、読み取り専用データベース/ Luceneインデックス/読み取り専用ファイルがある場合、ドライブの読み取りキャッシュをオンにすることが最適です。

ドライブでこの設定を変更することで(SQL Server/Luceneを使用するまで)劇的なパフォーマンスの変化を見たことはありません。ディスクをストリッピングすることにより、高I/Oが改善されます...あなたの場合、10,000のファイルに数百万行のコードがある場合、読み取り/書き込みのパフォーマンスが向上します。単一ドライブのデフォルトの最大IOPは500 IOPです(これは約2x15k SASドライブまたはハイエンドSSD)です。それ以上必要な場合は、ディスクを追加してストライプします。 。

たとえば、特大のVMでは、16台のドライブを接続できます* 500 IOP(〜8,000 IOP): http://msdn.Microsoft.com/en-us/library /windowsazure/dn197896.aspx (これを行った人向けの優れた記事/ホワイトペーパーがあり、1台の巨大なドライブではなく、最大容量の小さなドライブを追加することで最適なパフォーマンスを実現しました)。

簡単な要約:キャッシュはデフォルトのままにします。 I/Oツールを使用して特定のパフォーマンスをテストします。 I/Oがボトルネックの場合、単一ドライブのパフォーマンスは重要ではありません。ストライピングドライブは、VHDドライブのキャッシュ設定よりもはるかに優れています。

23
Bart Czernicki

キャッシュオプションについて私が見た中で最も包括的な投稿は、このWindows Azureストレージチームのブログです post Brad Calderによる。

(固定リンク)

9
Neil Mackenzie