NTFS圧縮はパフォーマンスにどのように影響しますか?


57

NTFS圧縮は余分なCPU使用によりパフォーマンスを低下させると聞きましたが、ディスク読み取りの減少により実際にパフォーマンスが向上する可能性があるという報告を読みました。NTFS圧縮はシステムパフォーマンスにどの程度影響しますか?

ノート:

  • 5400 RPMのハードドライブを搭載したラップトップを実行していますが、その上で行うことの多くはI / Oバウンドです。
  • プロセッサは、2.0 GHzで動作する4つのコアを備えたAMD Phenom IIです。
  • システムはUltraDefragを使用して定期的にデフラグされます。
  • ワークロードは読み取りと書き込みが混在しており、読み取りは書き込みよりもやや頻繁に発生します。
  • 圧縮されるファイルには、(完全なホームフォルダーではなく)選択された個人ドキュメントのサブセットと、いくつかの(それほど要求のない)ゲームやVisual Studio(I / Oバインドの頻度が高い傾向がある)を含むプログラムが含まれます。

12
正しい答えは「システムで測定する」だけだと思います。
Mehrdad

これは一般的な質問であり続けると思います。CPUはメモリよりも高速です。最近。それを仮定しましょう。パフォーマンスについて?わかりませんが、私も興味があります。
Apache

1
どのシステムですか?コアはいくつありますか?CPUを集中的に使用している場合、これから実行する操作のハードドライブ速度に比べてもう少しCPUを追加しますか?電力消費と温度への影響。データの圧縮性。読み取りはいくらですか、書き込みはいくらですか?そもそもそれを圧縮するのは遅いですが、簡単に測定可能な量によって、(依存する)それを読み返すのが速いはずです。
サイコギーク

(しかし、わずかに異なる状況で、特定のフォルダに多くのアイコンで)関連:superuser.com/questions/38605/...
bwDraco

1
試してみることができるのはデフラグです。UltimateDefragについての不思議を聞いたことがありますが、今まで試したことはありません。(DiskeeperとPerfectDiskのうち、Diskeeperは新しいバージョンのリリースを停止したため、後者を使用しています。)
Apache

回答:


36

NTFS圧縮は余分なCPU使用によりパフォーマンスを低下させると聞きましたが、ディスク読み取りの減少により実際にパフォーマンスが向上する可能性があるという報告を読みました。

正しい。CPUが何らかの圧縮アルゴリズムを使用して、C MB / sで圧縮し、D MB / sで解凍でき、ハードドライブの書き込み速度がW、読み取り速度がRであると仮定します。C> Wである限り、パフォーマンスが向上しますD> Rである限り、読み取り時にパフォーマンスが向上します。Lempel-Zivのアルゴリズム(ソフトウェアに実装されている)の圧縮率は非決定的であるため、書き込みケースではこれは抜本的な仮定です(ただし、辞書サイズが制限されている場合は制約されます)。

NTFS圧縮はシステムパフォーマンスにどの程度影響しますか?

さて、それはまさに上記の不等式に頼ることによるものです。CPUがHDDの書き込み速度を上回る圧縮/解凍速度を維持できる限り、速度の向上が見込めます。ただし、これは大きなファイルには影響があり、(アルゴリズムにより)重い断片化が発生するか、まったく圧縮されません

これは、圧縮が進むにつれてLempel-Zivアルゴリズムの速度が低下するためである可能性があります(辞書が拡大し続けるため、ビットが入るにつれてより多くの比較が必要になるため)。Lempel-Zivアルゴリズムでは、ファイルサイズに関係なく、解凍はほぼ常に同じ速度です(ベース+オフセットスキームを使用して辞書をアドレス指定できるため)。

圧縮は、ディスク上のファイルのレイアウトにも影響します。デフォルトでは、単一の「圧縮ユニット」はクラスターのサイズの16倍です(したがって、ほとんどの4 kBクラスターNTFSファイルシステムでは、ファイルを保存するために64 kBのチャンクが必要です)。ただし、これは断片化とディスク上のスペース要件に影響を与える可能性があります。

最後の注意点として、待ち時間も議論の興味深い価値です。CPUクロック速度がギガヘルツ(つまり、各クロックサイクルが1 ns未満)の場合、データの圧縮にかかる実際の時間はレイテンシをもたらしますが、導入されるレイテンシはハードドライブのシークレートと比較して無視できます(ミリ秒単位、または数百万クロックサイクル)。


実際に速度が向上するかどうかを確認するには、いくつか試してみてください。1つ目は、Lempel-Zivベースの圧縮/解凍アルゴリズムを使用してシステムをベンチマークすることです。良い結果が得られた場合(C> WおよびD> R)、ディスクの圧縮を有効にしてみてください。

そこから、実際のハードドライブのパフォーマンスに関するベンチマークをさらに行いたい場合があります。(あなたの場合)本当に重要なベンチマークは、ゲームのロード速度とVisual Studioプロジェクトのコンパイル速度を確認することです。

TL、DR:圧縮、高いスループットと低遅延を必要とする多くの小さなファイルを使用するファイルシステムで実行可能です。大きなファイルは、パフォーマンスと遅延の問題のために影響を受けません(また、そうすべきです)。


Lempel-Zivベースの圧縮/解凍アルゴリズムベースのベンチマークをリンクできますか?
user1075375

NTFS圧縮が作成する(およびファイルが変更されると追加される)断片化は、パフォーマンスの向上を簡単に取り除きます。頻繁に変更されない非常に圧縮性の高いデータセットがあり、圧縮後にデフラグを行うと、最終的な利益になります。圧縮後の変更は、厄介な断片化を引き起こします。Re:ベンチマーク:今日の遅いCPUでさえLZで高速です。断片化の問題は、断然最大の問題です。これは、最適化が限られた状況でのみ有用である古典的なケースです。NTFSの圧縮対象を非常に慎重に選択すると、全体的な勝利になります。
ジョディリーブルション

1
そして、SSDはどうですか?
バイオレットキリン

C、D、W、Rをどのように測定できますか?
ジェレミア

これらの抽象化の実際的な典型的な例「C> W and D> R」に感謝しますか?たとえば、HDDを搭載した4コアラップトップで「プログラムファイル」や「Windows」を圧縮することは有益ですか?そしてSSDで?バッテリー消費は大きく影響されますか?
kxr

7

ディスクが非常に遅いため、質問にはメリットがあります。NTFS圧縮はプロセッサを集中的に使用し、圧縮効率ではなく速度に合わせて調整されています。

読み取り操作の(非常に)わずかな改善が見られることを期待します。ただし、システムキャッシュにあるファイルにアクセスすると、アクセスするたびに再度解凍する必要があるため、パフォーマンスが低下します。

もちろん、追加の圧縮のために書き込み操作が遅くなることがわかります。

この同じNTFSディスクにファイルをコピーするには、圧縮解除と圧縮が必要であるため、これらが最も被害を受けます。

NTFS圧縮も断片化を大幅に増加させる可能性がありますが、これは「典型的な」作業負荷の下でのほとんどの「典型的な」コンピューターにとっては問題ではありません。

JPEG画像、ビデオ、または.zipファイルなどの多くの種類のファイルは基本的に圧縮できないため、これらのファイルは使用が遅くなり、スペースを節約できません。

1つのディスククラスター(通常は4K)よりも小さいファイルは、ゲインがないため圧縮されません。ただし、ボリューム全体を圧縮する場合は、クラスターサイズをさらに小さくすることをお勧めします。

NTFS圧縮は、比較的静的なボリュームまたはファイルに推奨されます。システムファイルまたはユーザーフォルダーにはお勧めできません。

ただし、ディスク、バス、RAM、およびCPUに応じてハードウェア構成はコンピューターモデルごとに異なるため、テストによってのみ、コンピューターモデルに圧縮の正確な影響がどのようになるかがわかります。


5

NTFSのWikpediaエントリで説明しました。


NTFSは、LZNT1アルゴリズム(LZ77のバリアント[23])を使用してファイルを圧縮できます。ファイルは16クラスターのチャンクに圧縮されます。4 kBクラスターでは、ファイルは64 kBのチャンクに圧縮されます。圧縮により64 kBのデータが60 kB以下に減少した場合、NTFSは不要な4 kBページを空のスパースファイルクラスターのように扱います。これらは書き込まれません。これにより、不当なランダムアクセス時間は許可されません。ただし、64 kBのチャンクごとに小さなフラグメントになるため、大きな圧縮可能なファイルは非常に断片化されます。[24] [25]パフォーマンスの低下のため、Microsoftは30 MBを超えるファイルの圧縮を推奨していません。[引用が必要]

圧縮の最適な使用方法は、繰り返し使用されるファイル、めったに書き込まれないファイル、通常は順次アクセスされるファイルであり、圧縮されていないファイルです。ログファイルは理想的な例です。4 kB未満のファイルや既に圧縮されているファイル(.zip、.jpg、.aviなど)を圧縮すると、サイズが大きくなるだけでなく、遅くなる場合があります。[引用が必要] 4 kBページでページインおよびページアウト)。起動時に使用されるドライバー、NTLDR、winload.exe、またはBOOTMGRなどのシステムファイルを圧縮すると、システムが正しく起動できなくなる場合があります。[26]

圧縮ファイルへの読み取り/書き込みアクセスは、多くの場合(常にではありません)[27]ですが、Microsoftは、プロセッサに大きな負荷をかけるため、ローミングプロファイルを保持するサーバーシステムやネットワーク共有での圧縮を避けることをお勧めします。[28]

ハードディスク領域が限られているシングルユーザーシステムは、圧縮率に応じて、4 kBから64 kB以上の小さなファイルのNTFS圧縮の恩恵を受けることができます。900バイト未満のファイルは、MFTのディレクトリエントリと共に保存されます。[29]

コンピューターで最も遅いリンクはCPUではなくハードドライブの速度であるため、NTFS圧縮により、スペースと(多くの場合)速度の両方の観点から、限られた低速のストレージスペースをより適切に使用できます。(これは、圧縮ファイルのフラグメントが連続して保存されることを前提としています。)


64KB以下(1個)に圧縮するファイルに対してのみ圧縮をお勧めします。そうしないと、ファイルは64K以下の小数で構成されます。

MyDefragはデフラグのより良い仕事をします。


UltraDefragでの私の経験では、Windowsに組み込まれているデフラグツールよりも完全なデフラグを行うことができますが、私の知る限り、MyDefragほどスマートではありません。バージョン6ベータ版を使用しています。これにはいくつかのバグと未実装の機能がありますが、以前のバージョンよりもはるかに高速です。
bwDraco

1

操作が遅くなります。残念ながら、システムにどれだけ影響するか、どれだけ影響を与えるかを正確に測定することはできません。圧縮されたファイルが開かれると、システムがファイルを使用できるように、ファイルを圧縮解除するためのプロセッサー能力が必要になります。作業が完了して[保存]をクリックすると、より多くのプロセッサパワーを使用して再び圧縮します。ただし、パフォーマンスを測定できるのはあなただけです。


4
質問のすべてのポイントを逃したと思います。データの圧縮/圧縮解除に時間がかかることと、ディスクからデータを読み取る時間が短くなることとのトレードオフがあります(データの読み取りが少ないため)。したがって、あなたの主張は保証されません。圧縮が簡単に勝つことができる明らかな例は、ネットワークファイルシステムを読み取るときです。ローカルファイルシステムでは、あまり明確ではありませんが、どちらに行くかは保証されません。
jjlin

@jjlinより高速な場合の例はありますか?
カナダのルークレインステートモニカ

@Lukeは、何らかの圧縮アルゴリズムを使用して、CPUがC MB / sで圧縮し、D MB / sで解凍でき、ハードドライブが書き込み速度Wと読み取り速度Rを持っていると仮定しましょう。C> Wである限り、書き込み時にパフォーマンスが向上し、D> Rである限り、読み取り時にパフォーマンスが向上します。
ブレークスルー

@Lukeは、古いIDEドライバーやUSB 1.0ペンドライブなどの低速ドライブで使用すると高速になります。
クラスト

-1

これを今日見ている人は、ビデオゲームの場合、ドライブまたはフォルダーで圧縮を有効にして、今日の遅いCPUやSSD(その他の場合)でもロード時間を短縮できることに注意してくださいほとんどの人が持っていない最速のもの)、定期的にデフラグする必要があります。圧縮後に「スマートアグレッシブ」デフラグを使用し、フランジングの自動防止機能を有効にしておくと、完璧なディスクを購入することを強くお勧めします断片化を回避するためのアクティビティおよび自動最適化で、パフォーマンスヒットがほとんどないかまったくない(最近のウィンドウでamdとintelの両方の古い第一世代のクワッドに戻ってテストした)

多くのゲームファイルは非常によく圧縮され、一部のゲームはほとんど空白であるにもかかわらずディスクスペースを占有するファイルがあります...しばらく圧縮された1つのゲームはフォルダの6GBから16MB未満になりました.....冗談でした...無駄なスペースと無駄なI / Oについて話してください....)

しばらくして、仲間のスチームフォルダーを圧縮し、圧縮するのに4日かかりました(4TBのドライブで、4/3でフルになりました)、完了したら...彼はドライブの合計の約1/3を使用していました。デフラグには別の日がかかりました(しかし、それはひどく断片化し始めました。なぜなら、彼はこれまでにデフラグをしたことがなかったからです.. )

あなたの写真/画像フォルダを圧縮しないでください、それは何の役にも立ちませんし、遅いシステムではそれらへのアクセスを遅くするだけです(ただし、1/2のまともなリグでも気付かないでしょう...)

nt4以降、すべてのシステムでドライブを圧縮しましたが、圧縮により害を及ぼすフォルダを実際に解凍します。これは、ゲーマー、オタク、「 「みんな(それが用語になる前に)、そして真実のままで、正直に言って、ドライブ/データを圧縮するためにもっと細かく調整された方法があればいいのに。圧縮されるべきではないデータを圧縮せずに圧縮結果

とにかく、多くの古いデュアルコアシステムでも、1。ccleanerを実行します。4. mydefrag以上の完璧なディスクでデフラグします。これには時間がかかります。5.大きなファイルまたは画像を含むフォルダーをすべて圧縮するか、圧縮する必要のないその他のコンテンツをすべて削除します。プロセスのこの部分の後にデフラグする必要はほとんどありませんが、チェックするのが最善です。

一部の人々が圧縮に反対する理由はわかりますが、適切に使用すると、ssdまたはhdd、特に遅い古いhddとssdをテストして、適切に使用すると圧縮がスペースを節約するだけでなく、パフォーマンス、最も古いデュアルコアは、これらのシステムのドライブが移動するよりも速く平均圧縮/解凍サイクルを処理できます。これをテストした後、第一世代の安価な古いデザインのssdは、圧縮の恩恵を受けることができますが、ほとんどの場合、hddの低速ほどではありませんが、バディネットブックには非常に遅く、ssdを交換するのが難しく、アクセスが簡単なssdスロットがありますが、愚かなことは物理的に他のssdを削除せずに追加されたssdから起動できません... (恐ろしいBIOSですが、...ユニットが何であるかについては、実際に見た目よりも強力です。このような方法でインストールされた遅いssd thatsの外では、それを取得するためにすべてを分解する必要があります......)、そのドライブを圧縮し、窓とスローの最も基本的なアプリ(オフィスなど) CPUは実際にssdを待っているため、読み取り/書き込みでもssdは実際にそれを高速化しました..それは彼がインソールしたより速いものをdosntします...私は単にブートローダーを内部ssdとOSに置くことを提案しました追加されましたが、最終的にページファイルにそのほとんどを使用して愚かなものを殺すことを望んでいます...(その128GBですが、不意に遅い、私はより良い書き込み速度を持っているUSB3フラッシュドライブを持っているように.... newegg / amazonですべて販売中です...)そのドライブを圧縮し、低速のssdにウィンドウと最も基本的なアプリ(オフィスなど)を置くだけで、読み取り/書き込みでも実際に高速化されます。彼が中傷した...私は単にブートローダーを内部のssdに置き、osを追加されたbut..hesに置くことを提案しました。最終的にページファイルにそれを使用して愚かなことを殺すことを望んでいます...しかし、私はより良い書き込み速度を持っているUSB3フラッシュドライブを持っているように....それはすべてnewegg / amazonで販売されている......そのドライブを圧縮し、低速のssdにウィンドウと最も基本的なアプリ(オフィスなど)を置くだけで、読み取り/書き込みでも実際に高速化されます。彼が中傷した...私は単にブートローダーを内部のssdに置き、osを追加されたbut..hesに置くことを提案しました。最終的にページファイルにそれを使用して愚かなことを殺すことを望んでいます...しかし、私はより良い書き込み速度を持っているUSB3フラッシュドライブを持っているように....それはすべてnewegg / amazonで販売されている......彼は最終的にそのほとんどをページファイルに使用して愚かなものを殺すことを望んでいます...(その128GBですが、私はより良い書き込み速度を持っているUSB3フラッシュドライブを持っているように... newegg / amazon ......)彼は最終的にそのほとんどをページファイルに使用して愚かなものを殺すことを望んでいます...(その128GBですが、私はより良い書き込み速度を持っているUSB3フラッシュドライブを持っているように... newegg / amazon ......)

私は少なくともあなたのゲームドライブ/フォルダを圧縮することを強くお勧めします...私の神は高速システムでさえ作ることができます!


ほとんどのゲームはすでにデータを圧縮していますが、それ以上圧縮することはできません
M.kazem Akhgary

-2

WindowsはRAM内の最近使用されていないデータを圧縮します。SSDでさえ、パフォーマンスヒットは問題ではないと思いますが、その速度はごくわずかです。1-2ビットのエラーが発生し、データの一部またはすべてを復元できない圧縮ブロック、または最悪の場合は辞書エラーが心配です。代替OSで読み取り不能で信頼性を低下させる可能性のあるディスクを作成するものは、それがもたらす可能性のある余分な速度(私見)の価値はありません。ビデオゲームのテクスチャパックファイルなどは通常、すでに圧縮されているため、別の圧縮セットをレイヤー化することでどのように改善されるかわかりません。ランダムr / wが使用されないように、ファイルをディスクジオメトリ上の線形レイアウトとしてマークすることをサポートするOSが欲しいのですが。特定のユースケースのSSDでも速度を向上させます。圧縮に関する他の問題は、MS Officeドキュメントや他の多くの形式と同様に、画像とムービーが既に圧縮されているため、ファイルを圧縮可能としてマークし、それをマイクロ管理することです。Linuxソースツリーまたは大規模なオープンソースプロジェクトの場合、通常はテキストファイルの圧縮が最適であるため、非常に役立ちます。


1
linear-on-geometryを明確にすることは、主にHDD、および500MB以上のファイルに役立ちます。それがロードにかなりの利益になる前に、私は500GBのTIFFファイルで作業しました。Windowsはこれを行おうとしますが、ドライブは定期的にデフラグされるドライブと、他のアプリケーションには最適ではない適切なクラスターサイズに依存しています。この混乱を回避するために、ブート用にSSD、音楽/映画プロジェクト用に2TBドライブ、DSLRからのRAWファイル用に別の2TB、およびかなり大きな利益のために圧縮できる大量のソースコードを格納する4TBを使用しますスペース。
ゲストマクゲスターソン18年

1
システムファイルとそれらの間の競合を制限するために、「プログラムファイル」専用の2番目のSSDが理想的ですが、Windowsは数週間後にセットアップしようとする試みを中断する傾向があります。D:\ Program Filesなど何でも作成できますが、非常に多くのプログラムがハードコーディングされているため、文字通りどこでもシステムドライブにがらくたを置くことができません。
ゲストマクゲスターソン18年

-2

Microsoft Windows NTFS圧縮は、ログファイル、一般的にはテキストファイル、その他の高度に圧縮可能なファイル以外には使用しないでください。

これを考慮してください。歴史的に、ファイル圧縮のパフォーマンスは20〜25 MiB / sで止まっています。これは、1つの2.4-3.0Ghzプロセッサでファイルを圧縮する通常の速度です。NTFS圧縮はマルチスレッドではありません。これは大きな問題です!

最近のハードドライブの速度は100 MiB / sであると考えてください。4〜5倍の圧縮が得られない場合、読み取りと書き込みの両方でパフォーマンスが大幅に低下しています。これが起こることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.