Jak mogę ograniczyć prędkość wyjściową standardowego wyjścia?

24

Używam CentOS 5.7 i mam narzędzie do tworzenia kopii zapasowych, które ma możliwość zrzucenia pliku kopii zapasowej do stdout. Plik kopii zapasowej jest dość duży (wiele gigabajtów). Celem jest system plików SSHFS. Aby mieć pewność, że nie zmniejszę przepustowości i nie obniżę wydajności sieci, chciałbym ograniczyć szybkość, z jaką dane są zapisywane na „dysku”.

Jak mogę ograniczyć zdolność stdoutopartą na liczbie bajtów? Na przykład, ograniczenie zdolności procesu do zapisu do około 768Bps.

Wesley
źródło
6
@msw to pytanie dotyczy ograniczenia prędkości stdout, poprzednie pytanie dotyczyło ograniczenia ruchu w sieci. Różne bestie ...
voretaq7
7
@msw Ostatnio sprawdziłem, celem sieci SE jest zebranie ogromnej ilości wiedzy w określonych obszarach. W tym przypadku chodzi o * nix. Ograniczanie wydajności stdoutróżni się od ograniczania przepustowości. To, że podstawowy problem jest taki sam, nie oznacza, że ​​przyszli użytkownicy nie uznają każdego pytania za użyteczne niezależnie od drugiego. Pamiętaj, że pytania i odpowiedzi dotyczą zarówno pracowników Google, jak i samych pytających, dlatego usunięcie odpowiedzi na pytania jest tutaj tak wielkim grzechem.
MDMarra

Odpowiedzi:

27

Możesz dodać narzędzie ograniczające szybkość do swojego rurociągu.

Na przykład istnieje pvopcja ograniczająca szybkość:

-L RATE, --rate-limit RATE

Ogranicz przesyłanie do maksymalnie RATE bajtów na sekundę. Sufiks „k”, „m”, „g” lub „t” można dodać w celu oznaczenia kilobajtów (* 1024), megabajtów itd.

Alternatywą jest narzędzie, bufferktóre ma:

   -u microseconds

Po każdej przerwie zapisu na tyle mikrosekund. Domyślnie zero. (Zaskakująco mały sen, 100 usecs, po każdym zapisie może znacznie zwiększyć przepustowość na niektórych dyskach).

maxschlepzig
źródło
3

Kusiłoby mnie, aby zrzucić to na dysk lokalny zamiast pisać bezpośrednio na woluminie zdalnym. W ten sposób możesz użyć rsyncz, --bwlimitaby łatwo ograniczyć transfer.

Jedną z korzyści tego podejścia jest to, że jeśli do zdalnej maszyny występuje czkawka łączności, przesyłanie jest przerywane, ale sama kopia zapasowa nie eksploduje w blasku chwały.

MDMarra
źródło
Znakomity. Pragnę, aby rsyncbyło to realne rozwiązanie w tej raczej ograniczonej sytuacji, w której się znalazłem. = |
Wesley
3

pv (widok rury)

echo asdlfkjasdf | pv -q -L 12
Ole Tange
źródło