Как я могу ограничить скорость вывода стандартного вывода?

24

Я использую CentOS 5.7, и у меня есть утилита резервного копирования, которая имеет возможность выгрузить свой файл резервной копии в stdout. Файл резервной копии довольно большой (несколько гигабайт). Цель - файловая система SSHFS. Чтобы не пропускать полосу пропускания и не снижать производительность сети, я хотел бы ограничить скорость, с которой данные записываются на «диск».

Как я могу ограничить возможности stdoutпо количеству байтов? Например, ограничение способности процесса писать до 768 бит / с.

Wesley
источник
6
@msw этот вопрос касается ограничения скорости stdout, предыдущий вопрос был об ограничении сетевого трафика. Разные звери ...
voretaq7
7
@msw Последний раз, когда я проверял, цель сети SE - собрать огромное количество знаний в определенных областях. В данном случае речь идет о * nix. Ограничение выхода stdoutотличается от ограничения пропускной способности. Тот факт, что основная проблема та же самая, не означает, что будущие посетители не найдут каждый вопрос полезным независимо от другого. Помните, что вопросы и ответы одинаково важны как для гуглеров, так и для реальных респондентов, поэтому удаление отвеченных вопросов является таким кардинальным грехом.
MDMarra

Ответы:

27

Вы можете добавить инструмент ограничения скорости в ваш конвейер.

Например, есть pvвариант с ограничением скорости:

-L RATE, --rate-limit RATE

Ограничьте передачу максимумом байтов RATE в секунду. Можно добавить суффикс «k», «m», «g» или «t», чтобы обозначить килобайты (* 1024), мегабайты и т. Д.

Альтернативой является инструмент, bufferкоторый имеет:

   -u microseconds

После каждой паузы записи это много микросекунд. По умолчанию ноль. (Удивительно маленький сон, 100 усек, после каждой записи может значительно увеличить пропускную способность на некоторых дисках.)

maxschlepzig
источник
3

Я хотел бы записать это на локальный диск, а не записывать его непосредственно на удаленный том. Таким образом, вы можете использовать rsyncс, --bwlimitчтобы легко ограничить передачу.

Одним из преимуществ этого подхода является то, что в случае сбоя подключения к удаленной машине передача прерывается, но сама резервная копия не взрывается во славе.

MDMarra
источник
Принято к сведению. Мне бы очень хотелось, чтобы это rsyncбыло жизнеспособное решение в этой довольно ограниченной ситуации, в которой я оказался. = |
Уэсли
3

PV (вид трубы)

echo asdlfkjasdf | pv -q -L 12
Оле Танге
источник