1

ここの誰かがこれらに明確に答えてくれることを願っています:

  • VHD ファイルをホスト上の NTFS 圧縮フォルダーに配置すると、仮想マシンのパフォーマンスが向上するか、パフォーマンスが低下するか、またはどちらでもないか?
  • ゲスト内での NTFS 圧縮の使用についてはどうですか?
  • ホストまたはゲストで圧縮を使用すると、読み取りエラーや書き込みエラーなどの問題が発生しますか?
  • ホスト上の圧縮フォルダーに VHD を配置する場合、圧縮することでメリットが得られますか?

かなりの数の VPC の「ヒントとコツ」のブログ投稿で NTFS 圧縮の使用に関する言及を見てきましたが、そのうちの半分は絶対に使用しないでくださいと言い、残りの半分はディスク容量を節約するだけでなく、実際に高速な CPU を使用していて、主なパフォーマンスのボトルネックがディスクである場合、パフォーマンスを向上させることができます。

4

2 に答える 2

2

ディスク エラーは表示されませんが、時間が経つにつれて、または VM による集中的なディスク書き込み中に速度が低下することがあります。VM をその場で圧縮しない理由は、データベースをその場で圧縮しないのと同じです。仮想ディスクはブロック デバイスであり、VM はブロック オフセットを使用してそれに対処します。すべてのブロックが同じサイズであると想定しています。それらが圧縮されている場合、それはもはや当てはまりません。ホスト ファイル システムは、想定されたブロックの場所と実際の (圧縮された) ブロックの場所との間の変換を行う必要があります。読み取り専用の場合、それはかなり些細なオーバーヘッドですが、ブロックが変更され、圧縮率も変更されます。圧縮されたブロックを書き換えると、元の場所に収まらなくなる場合があります。ホスト FS はそれを移動する必要がありますが、これは追加の手順であり、仮想ディスクを断片化します。

もちろん、物理的な場所がまだない新しい場所に VM が書き込むと、常に断片化が発生します。これを克服するには、(圧縮されていない) フルサイズの仮想ディスク (空のパディングでいっぱい、つまり自動拡張なし) を使用し、ホストとゲストの両方をデフラグします。

ソリッド ステート ストレージでは、断片化は問題ではなく、圧縮によって書き込みが減り、ディスクの寿命が延びます。しかし、ブロック変換の CPU とメモリのオーバーヘッドにまだ悩まされています。

また、ディスク コントローラがデータの重複排除や圧縮を行っている可能性があるため、OS レベルの作業が冗長になる可能性があることにも注意してください。

大部分が読み取りを行う VM の場合、圧縮が有効であることが判明する場合があります。残念ながら、最近の OS はハウスキーピング、ログ記録、および自己更新を頻繁に行うため、継続的に書き込みを行いますが、このアクティビティをスナップショットに限定することができます。そのため、スナップショットではなくベース イメージを圧縮します。書き込みパフォーマンスは影響を受けません。注意: スナップショットは元のディスクのサイズまで簡単に大きくなる可能性があります。それでも頻繁にマージまたは削除する必要があるため、見える場所に置いてください。

結論:シンプルにしましょう。

于 2012-08-21T09:17:15.113 に答える
1

これはすべてトレードオフに関するものです。ディスクが特定のバイト数を読み取るには、一定の時間がかかります。ディスクがデータを読み取るのにかかる時間の短縮と、CPU が解凍するのにかかる時間の合計が、圧縮されていないデータをディスクから読み取るのにかかった時間よりも短くなるようにデータを圧縮できれば、あなたの勝ちです。パフォーマンス。

問題は、これには非常に多くの変数があり、どちらの方法でも問題ない可能性が高いことです。ディスクの小さなブロックの読み取りが遅くなる、データがあまり圧縮できない、CPU が非常に高速になる、などの可能性があります。それが確実に違いを生むかどうかを知る唯一の方法は、試して測定することです. 異なるデータ/マシンに対して得られる答えは異なる可能性があります。

于 2010-04-15T05:38:45.387 に答える