ファイルシステムの圧縮はホームNASの書き込み性能にどのように影響しますか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ファイルシステム圧縮はホームNASの書き込みを、CPU作業よりも多くのストレージ作業を削減できれば高速化しますが、遅延を増加させることもあります。

結果はNASが何を保存するか、どの圧縮アルゴリズムとレベルを使うか、そしてアクティブなボトルネックがプロセッサ、ドライブプール、または同期書き込みパスのどれかによって異なります。この記事はZIPアーカイブやSMB圧縮ではなく透過的ファイルシステム圧縮に焦点を当てています。なぜならそれぞれがデータパスの異なる段階で動作するからです。

核心のトレードオフ:書き込むバイト数は減るがCPU作業は増える

透過的圧縮はファイルシステムの書き込みパス内にあります。アプリケーションは論理データを送信し、ファイルシステムはそのデータをレコードやエクステントに分割し、圧縮エンジンは割り当て前に各単位をより少ないバイト数でエンコードしようとします。成功すると、より少ないブロックがストレージプールに到達します。透過的ファイルシステム圧縮の詳細な説明では、レコードサイズ、圧縮率、物理ブロックサイズが実際に節約されるI/O量にどのように影響するかが示されています。

これは普遍的な速度向上ではなく交換を生み出します。CPUは繰り返しパターンを見つけるのに時間を費やしますが、ディスク、SSD、パリティ層、ストレージバスはより小さい物理ペイロードを処理します。節約されたデバイス時間が圧縮時間を上回れば、アプリケーションから見た書き込みスループットは向上します。CPUがすでに忙しい場合やデータがほとんど縮まらない場合、追加の処理段階は書き込み遅延を増やし、補償するのに十分なI/O削減が得られないことがあります。

報告される速度は誤解されることもあります。コピー ツールはクライアントから受け取った論理バイト数を測定しますが、ドライブの統計は圧縮後に書き込まれた物理バイト数を示します。したがって、NASは論理的な進行速度として500 MB/sを報告しても、ディスクが受け取るのは500 MB/sよりはるかに少ない場合があります。ファイルシステムの圧縮は受信するSMBトラフィックを自動的に減らすわけではなく、ネットワーク圧縮は経路のより早い段階で作用する必要があります。

圧縮率がストレージ作業の削減量を決定する

圧縮は入力に再利用可能なパターンが含まれている場合にのみ作業を削減します。テキスト、ログ、ソースコード、繰り返しのデータベースフィールド、およびゼロで埋められた領域は、かなりの冗長性があり大幅に縮小されることが多いです。JPEG、HEVCビデオ、ZIPアーカイブ、および暗号化ファイルはすでにこれらのパターンを除去または隠しています。データの冗長性と圧縮の関係は、同じ大きさのNASフォルダが正反対の書き込み性能結果を生む理由を説明しています。

ホームNASは単一の均一なワークロードを保持することは稀なので、重要な問いは圧縮が単独で速いかどうかではありません。アクティブなデータセットが自身の書き込みパスの最も遅い部分を減らすほど小さくなるかどうかです。

ホームNASのワークロード 圧縮可能性が高い 圧縮によって作業が移行される 予想される書き込み結果
ログ、JSON、ソースコード、およびドキュメント 高い 多くのストレージブロックがCPU作業に置き換えられる 論理的スループットがしばしば高い
VMイメージおよびデータベースファイル 可変 ゼロや繰り返しページは縮小するが、ランダムな更新はそのまま ワークロードおよびブロックサイズに依存
RAW写真および非圧縮のプロジェクト資産 低から中程度 一部のディスクトラフィックが削減される わずかな増加または中立的な結果
JPEG、HEVC、MP3、およびZIPアーカイブ 低い CPUはデータをテストするが、ほとんどバイトを削除しない 通常は中立かやや遅い
暗号化されたバックアップと暗号化ボリューム 暗号化後は非常に低い 物理I/Oはほとんど削減されない CPUのオーバーヘッドがより目立つ

順序も重要です。暗号化前に圧縮されたデータはスペースを節約できますが、暗号文は通常、後のファイルシステム層からは高エントロピーに見えます。同様に、スパースまたは部分的に空のVMイメージは、内部のOSが混合コンテンツを保存していてもよく圧縮されることがあります。ファイル拡張子は有用な手がかりですが、ファイルシステムが見るブロックの信頼できる指標ではありません。

アルゴリズムと圧縮レベルがCPUとI/Oの交換率を決定する

高速アルゴリズムは処理時間が短く、サイズ削減は中程度であるのに対し、より重いアルゴリズムはより良い圧縮率を探すためにCPU時間を多く消費します。これは独立した圧縮方法の比較で見られる速度とサイズのトレードオフの境界と同じです。常時稼働するNASでは、最高の圧縮率が必ずしも最高の書き込み性能を意味しません。なぜなら、すべての前景および背景の書き込み処理が同じプロセッサを共有しているからです。

圧縮レベルはその境界をより細分化します。公開されているZstandardレベルの測定結果は、要求された圧縮率が上がるにつれて圧縮速度が低下する一方、解凍は比較的高速なままであることを示しています。これにより、高レベルはアイドル状態のハードウェアでのアーカイブ書き込みに適していますが、ライブデータベース、コンテナログ、複数クライアントの同時書き込みには潜在的に影響を与える可能性があります。

どのアルゴリズムラベルも普遍的な結果を提供しません。プロセッサ世代、利用可能なコア数、メモリ帯域幅、実装、チャンクサイズ、データセットのすべてが重要です。低消費電力CPUでの高速アルゴリズムは高速NVMeプールの背後でボトルネックになることがあり、一方で強力なアルゴリズムは遅いディスクが支配する同じNASでは実質的に無料のままであることもあります。

ドライブメディアと書き込みパターンがボトルネックを移動させる

回転式ディスクは、削除されたブロックごとに比較的高価なデバイス作業を回避できるため、圧縮の効果がより期待できます。NVMeプールはストレージが制限になる前にはるかに多くのデータを吸収できるため、圧縮のCPU時間がより顕著になります。より広い原則としては、CPU作業がストレージI/Oに代わることができるものの、どのリソースを使うべきかは実際のハードウェアのバランスによります。

書き込みの形態も結果を変えます。大きな非同期ストリームはファイルシステムにバッチ処理や並列処理の余地を与えます。小さな同期更新は耐久性の確認を待つため、ペイロードサイズの削減がフラッシュやジャーナルコミットの固定遅延を取り除くとは限りません。ファイルシステムの実装は特定の単位で圧縮も行います。例えば、現在のBtrfs圧縮の挙動は、制限されたチャンク、並列処理、実装固有のルールを用いており、これがメタデータの使用や書き込み遅延に影響を与えます。

同時実行は別の境界を追加します。複数のバックアップ、アプリデータベース、メディアインポート、コンテナライターがそれぞれ単独で利益を得ていても、CPUを総合的に飽和させる可能性があります。したがって、圧縮はネットワーク、メモリ、ドライブ、バックグラウンドタスクのボトルネックとともに解釈されるべきであり、特にスループットがスケジュールされたジョブや複数ユーザーの活動中のみ低下する場合に注意が必要です。

圧縮ベンチマークは論理的作業と物理的作業の両方を比較する必要があります

ゼロや繰り返しバイトで満たされたベンチマークは、圧縮ファイルシステムがドライブの書き込み速度より速く見えることがあります。その結果は論理的なワークロードとしては数学的に正しいかもしれませんが、写真アーカイブや暗号化バックアップには無意味です。一般的なストレージベンチマークの誤りには、高圧縮可能なテストデータ、キャッシュされた読み取り、未フラッシュの書き込み、アプリケーションのスループットとデバイスの活動の比較不足が含まれます。

意味のある家庭用NASテストは、同じハードウェア、データセット、クライアント経路、バックグラウンド負荷で圧縮の有無を比較します。論理スループット、物理デバイスのバイト数、CPU使用率、圧縮率、書き込みレイテンシを記録します。同期またはマルチクライアントのワークロードでは、ピークのMB/sよりもパーセンタイルレイテンシの方が有益です。短い停止が高い平均値に隠れることがあるためです。

最終的な解釈は条件付きです。物理書き込みが急激に減少しCPUが飽和状態に達していなければ、圧縮はスループットの増幅器として機能しています。比率がほぼ1:1でCPUやレイテンシが上昇する場合は、主に余分な作業です。ネットワークがすでにボトルネックの場合、ストレージは効率的になるかもしれませんが、クライアントのコピー完了時間は短縮されません。

よくある質問

ファイルシステムの圧縮は常にNASの書き込みを遅くしますか?

いいえ。圧縮可能なデータとストレージのボトルネックがある場合、節約されたI/OがCPUコストを上回ると論理書き込みスループットが向上することがあります。高エントロピーのデータ、CPUの余裕が限られている場合、積極的な圧縮レベル、またはレイテンシに敏感な書き込みでは、中立的または遅くなることもあります。

どの家庭用NASファイルが圧縮の恩恵を最も受けますか?

ログ、テキスト、ソースコード、繰り返しのある構造化データ、部分的に空の仮想ディスクが一般的な候補です。すでに圧縮されたメディア、アーカイブ、暗号化データは通常、効果が少ないですが、実際の結果はファイル名だけでなくブロックの内容によります。

ファイルシステムの圧縮はSSDの摩耗を減らせますか?

ブロックがよく圧縮される場合、ホストからSSDに書き込まれるデータを減らすことができ、デバイスの負荷の一部を軽減する可能性があります。ただし、コントローラーレベルのガベージコレクションや書き込み増幅を完全に排除するわけではないため、耐久性の向上はファイルシステム、ワークロード、空き容量、SSDファームウェアに依存します。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.