Что такое mbuffer и чем он может быть полезен
Когда в Linux нужно передавать большие объёмы данных — например, делать бэкапы, копировать базы или гнать поток через сеть — часто появляются «узкие места».
В таких случаях помогает mbuffer.
Что такое mbuffer?
mbuffer
(media buffer) — это утилита, которая вставляет высокопроизводительный буфер между источником данных (например, tar
, dd
, pg_dump
) и потребителем (ssh
, gzip
, диск).
Он работает как «прокладка», которая временно хранит данные в памяти и передаёт их дальше более плавно.
Чем полезен mbuffer?
- Сглаживает разницу скоростей — если источник отдаёт данные быстрее, чем приёмник может записывать.
- Показывает статистику — скорость, прогресс, ETA.
- Повышает пропускную способность — использование памяти вместо прямой записи может сильно ускорить процесс.
- Удобен для бэкапов — особенно при передаче через
ssh
, можно избежать подвисаний и видеть прогресс.
Пример: использование mbuffer для бэкапа через SSH
pg_dump mydb | mbuffer -m 1G | ssh user@remote "mbuffer -m 1G > backup.sql"
Здесь:
- pg_dump создаёт дамп.
- mbuffer буферизует 1 ГБ данных в памяти.
- Данные отправляются через SSH.
- На удалённой стороне mbuffer принимает и пишет на диск.
Вывод
mbuffer — это как «амортизатор» для потоков данных. Он помогает избежать тормозов, показывает прогресс и может значительно ускорить большие передачи. Если вы работаете с бэкапами, дампами баз или тяжёлыми пайплайнами, попробуйте добавить mbuffer — экономия времени и нервов гарантирована.