Что такое 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 — экономия времени и нервов гарантирована.