バックアップ処理により、追加の負荷がかかるため、まれに可用性に問題が生じることがあります。そのため、今日は zstd で簡単な実験を行いました。
Discourse のバックアップで使用されている gzip(レベル 4)と、zstd(デフォルトのレベル 3、最大 19)で、同じ 73GiB の dump.sql ファイルを圧縮した結果は以下の通りです。
圧縮後のサイズ: 15.8% 小さい(.zst は .gz サイズの 84%)
圧縮時間 (-T1): 71% 高速(gzip の 29%)
圧縮時間 (-T0): 89% 高速(gzip の 11%)
YMMV(結果は環境により異なります)。複数回実行せず、私のマシン(6 コア)でも他の処理を同時に行っていたため、正確さを追求したわけではありません。それでも、メリットは明らかだと思います。
-T0 が必ずしも全員にとって最適な選択とは限りません。Discourse 自体のリソースにも余裕を持たせることが重要だと考えるからです。そのため、より公平な比較のために -T1 のサンプルも用意しました。
これは win-win であり、Discourse のホスティングインフラにも大きな影響を与えるでしょう。ただし、PR を作成するスキルがないため、発見した内容を共有するに留めます。