みくにまるのブログみくにまるのブログ意識低い系ブロガー、みくにまるが送るブログ。2019-06-30Btrfsに搭載されている透過圧縮のマウントオプションですが圧縮を利用することによってディスクIOの負担が減りパフォーマンスが改善するという情報が流れています。確かにベンチマークの結果では読み取り性能などが向上しているようですが実際のユースケースではどうなるのでしょうか?調べても数年前の記事しか見当たらなかったので実際に自分で調査しました。ユーザーのホームフォルダ全体にファイルごとのzstd圧縮を有効にしたユーザーとデフォルト状態のユーザーとで様々なコマンドを試してみて実際の時間を計測します。圧縮コマンドはナウいやり方を採用します。zstd:15まずは書き込み時間をベンチマークとりあえずシンプルに書き込み時間をベンチマークしてみます。GB/s・・・えっ!?ちょっと予想外の結果に戸惑っています。いう事でしたら確かにパフォーマンスの上昇は期待できそうです。読み込み時間をベンチマーク次に読み込みの方のベンチマークです。MB/sうーん遅くなる?10プロセス並行してみます。4.23なるほど並列化すればCUPの限界まで読み込み時間を加速させられそうですね。残念ながら理論上最速になりそうなlz4には未対応。先程のベンチマークですが読み書きの速度を倍速にする裏技を発見しました。(まあ裏技という程でもありませんが)Btrfsの圧縮・解凍はシングルスレッドで動作するので実はハイパースレッディングを無効化すると1プロセス辺りの圧縮と解凍の速度が倍になります。ベンチマーク結果がストレージ性能を下回ってしまう場合にはハイパースレッディングを無効化して運用するのも手かもしれません。この記事が皆さんのお役に立てば幸いです。