GNU/Linux >> Linux の 問題 >  >> Cent OS

パフォーマンスを向上させるために Btrfs ファイルシステムを調整する方法

Btrfs は非常に新しいファイルシステムであり、まだ開発およびベンチマーク段階にあります。パフォーマンスに関する限り、デフォルトのオプションでうまく機能するため、通常はあまり必要ありません.

1. ssd を使用すると、Btrfs のパフォーマンスが向上します。

Btrfs は SSD を認識し、TRIM/Discard を利用して、ファイル システムが未使用のブロックをストレージ デバイスに報告して再利用できるようにします。 SSD では、Btrfs は不必要なシークの最適化を回避し、たとえ関係のないファイルからのものであっても、積極的にクラスターで書き込みを送信します。

注意 :チューニングを有効にするには、-o ssd でマウントします。

2.オンライン デフラグを有効にします。

Btrfs はマウント オプションを提供します (-o autodefrag ) 自動最適化ヘルパーを有効にします。ブロックがコピーされてディスクに書き込まれると、自動最適化ヘルパーがファイルのその部分に最適化のマークを付けて別のスレッドに渡し、断片化をバックグラウンドで自動的に削減できるようにします。この機能は、小規模なデータベース ワークロード、ブラウザ キャッシュ、および同様のワークロードに大きなメリットをもたらします。優れた点は、ファイル システムがマウントされ、アクティブに操作を実行している間に最適化を実行できることです。

3. relatime の代わりに noatime オプションを使用してください。

noatime マウント オプションは、特にスナップショットが多数ある場合に、ファイル システムを高速化する可能性があります。ファイルへの各読み取りアクセスは、その UNIX アクセス時間を更新することになっています。 COW が発生し、さらに多くの書き込みが行われます。デフォルトは relatime になり、アクセス時間の更新頻度が低くなりました。

4.その他のマウント オプション

以下は、ニーズと要件に合わせて検討できるその他のマウント オプションです。

  • space_cache – Btrfs は空き領域データをディスクに保存して、ブロック グループのキャッシュをより高速にします (カーネル 2.6.37+)。これは永続的な変更であり、古いカーネルを安全に起動できます。
  • nodatacow – コピー オン ライト データを使用しないでください。 datacow は、ユーザーが古いバージョンのファイルまたは新しいバージョンのファイルにアクセスできるようにするために使用されます。 datacow により、部分的に更新されたファイルがディスクに書き込まれることはありません。 nodatacow は、データ (ext[234] など) を直接上書きすることでパフォーマンスをわずかに向上させますが、システム障害時に部分的に更新されたファイルを取得する可能性があります。ワークロードが大規模なデータベース ファイルへのランダムな書き込みでない限り、通常、パフォーマンスの向上は 5% 未満であり、差が非常に大きくなる可能性があります
  • compress=zlib – 圧縮率の向上。これはデフォルトであり、古いカーネルにとって安全です。
  • compress=lzo – 最速の圧縮。 btrfs-progs 0.19 以前は、このオプションで失敗します。カーネル 2.6.39 以降のデフォルト。
  • 自動デフラグ – 既存のファイルへのランダムな書き込みを検出し、バックグラウンドでの最適化を開始します。 bdb または sqlite データベースには適していますが、仮想化イメージや大規模データベースには (まだ) 適していません。開発者がファイルを何度も最適化しないことを確認したら、これをデフォルトに移動します. (カーネル 3.0+)
  • inode_cache – 新しい空き i ノード キャッシュを有効にします。このオプションは、最初の実行時にシステムを遅くする可能性があります。 (カーネル 3.0+)
Btrfs ファイル システムを作成してマウントする方法 (例で説明)
Btrfs ファイル システムを作成および管理するための「btrfs」コマンドの例


Cent OS
  1. CentOS / Fedora / RedHat(RHEL)のキックスタートファイルを作成する方法

  2. Linux ファイルシステムで ACL (アクセス制御リスト) を構成する方法

  3. Btrfs ボリューム / ファイルシステムのサイズを変更 / 拡張する方法

  1. Ext ファイル システムを Btrfs に変換する方法

  2. Btrfs ファイル システムを作成および管理するための「btrfs」コマンドの例

  3. BTRFS ファイル システムを作成してクエリを実行する方法

  1. ファイルシステムをマウントする方法、ユーザーIDのマッピング?

  2. ファイルを作成してファイルシステムとしてマウントする方法は?

  3. BTRFS ファイルシステム RAID のエラーを監視するには?