zstd は現在かなり一般的で、gz よりも圧縮率が高く、高速です。バックアップに切り替える価値があるかもしれません。
世界中のすべての Discourse インスタンスを考慮すると、ディスクと転送の大きな節約になる可能性があります。
Choosing Between gzip, Brotli and zStandard Compression | Paul Calvano.
zstd は現在かなり一般的で、gz よりも圧縮率が高く、高速です。バックアップに切り替える価値があるかもしれません。
世界中のすべての Discourse インスタンスを考慮すると、ディスクと転送の大きな節約になる可能性があります。
Choosing Between gzip, Brotli and zStandard Compression | Paul Calvano.
これは良いアイデアだと思います。pr-welcome タグを付けます。
Discourseのバックアップにおける圧縮可能データと既に圧縮されたデータの平均重量比、およびzstdを使用した場合にどれだけのデータ(%)が節約されるかを知りたいです[^1]。
[^1]もちろん、フォーラムによっては画像アップロードに大きく依存するものもあれば、ファイルアップロードを許可しないものもあります。
これは同じ機能リクエストではありませんが、バックアップ圧縮に関するものでもあるため、ここにクロス投稿します。
私のDiscourseフォーラムすべてで、その割合はほぼ同じであると予想しています。
バックアップ処理により、追加の負荷がかかるため、まれに可用性に問題が生じることがあります。そのため、今日は 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 を作成するスキルがないため、発見した内容を共有するに留めます。
Docker 内の tar が --zstd 圧縮をサポートしていることを確認しました。
編集:あ、違います。tar はサポートしていますが、‘zstd’ ユーティリティが不足しています。これは apt-get install でインストール可能です。