# Миграция с сжатия gz на zstd для резервных копий

**URL:** https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984
**Category:** Feature
**Tags:** pr-welcome
**Created:** [30.Май.2024 15:10:53 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984 "2024-05-30T15:10:53Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)
#### Post date: [30.Май.2024 15:10:53 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984/1 "2024-05-30T15:10:53Z")

</div>

zstd сейчас довольно распространён, сжимает лучше и работает быстрее, чем gz. Возможно, стоит перейти на него для резервных копий.

Если учесть все экземпляры Discourse по всему миру, это может значительно сэкономить место на диске и трафик.

[Choosing Between gzip, Brotli and zStandard Compression | Paul Calvano](https://paulcalvano.com/2024-03-19-choosing-between-gzip-brotli-and-zstandard-compression/#:~:text=zStandard%20is%20a%20newer%20compression,it%20as%20of%20March%202024).

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [03.Февраль.2025 08:26:48 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984/2 "2025-02-03T08:26:48Z")

</div>

Я думаю, что это на самом деле хорошая идея. Добавлю тег #pr-welcome к этому.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [03.Февраль.2025 11:16:13 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984/3 "2025-02-03T11:16:13Z")

</div>

> [@Isambard](#):
>
> Это может существенно сэкономить место на диске и трафик.

Мне было бы интересно узнать среднее соотношение размеров сжимаемых и уже сжатых данных в резервной копии Discourse\[1\], а также какой процент данных можно сэкономить, используя zstd.

Это не тот же запрос на новую функцию, но он тоже касается сжатия резервных копий, поэтому я пересылаю его сюда:

> [@Reduce local disk space needs by not (redundantly) gzipping backups](https://meta.discourse.org/t/reduce-local-disk-space-needs-by-not-redundantly-gzipping-backups/245763/6?u=canapin):
>
> Development of that feature is currently paused and it isn’t on our current roadmap. I hope we will get to it in 2024.

> [@Ed\_S](#):
>
> В моём случае все загружаемые файлы уже сжаты: gz, gzip, gif, jpeg, png, zip. Поэтому финальное сжатие gzip даёт прирост всего в 1% по размеру.

Меня бы не удивило, если бы процент был примерно таким же на всех моих форумах Discourse.

* * *

1. Конечно, некоторые форумы сильно зависят от загрузки изображений, а некоторые вообще не позволяют загружать файлы.

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [23.Апрель.2026 12:20:41 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984/4 "2026-04-23T12:20:41Z")

</div>

Иногда процесс резервного копирования вызывает у нас проблемы с доступностью из-за дополнительной нагрузки. Поэтому сегодня я провёл быстрый эксперимент с zstd.

Вот результаты сжатия одного и того же файла dump.sql объёмом 73 ГиБ с помощью gzip (уровень 4, как в резервных копиях Discourse) и zstd (уровень по умолчанию 3 из 19):

Размер после сжатия: **на 15,8% меньше** (.zst составляет 84% от размера .gz)  
Время сжатия (-T1): **на 71% быстрее** (29% от времени gzip)  
Время сжатия (-T0): **на 89% быстрее** (11% от времени gzip)

Результаты могут различаться: я не запускал тесты несколько раз, на моём собственном компьютере (6 ядер) в это время выполнялись и другие задачи и так далее — точность не была приоритетом. Тем не менее, преимущества, на мой взгляд, очевидны.

Не уверен, что параметр -T0 обязательно подойдёт всем, так как оставлять запас ресурсов для самого Discourse кажется разумным, поэтому для более честного сравнения я привёл пример с -T1.

Кажется, это беспроигрышный вариант, который, вероятно, также окажет значительное влияние на инфраструктуру хостинга Discourse. При этом у меня нет навыков для создания PR, поэтому просто делюсь тем, что обнаружил.

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [23.Апрель.2026 12:55:39 UTC](https://meta.discourse.org/t/migrate-from-gz-compression-to-zstd-for-backups/309984/5 "2026-04-23T12:55:39Z")

</div>

Можно подтвердить, что tar внутри Docker поддерживает сжатие --zstd.

Редактирование: ой, нет. Сам tar поддерживает это, но утилита ‘zstd’ отсутствует. Её можно установить через apt-get install.
