Zmierz przepustowość rury w powłoce

35

Istnieje polecenie powłoki, które pozwala zmierzyć szybkość przechodzenia przez nie danych, dzięki czemu można zmierzyć prędkość wydawania poleceń w potoku. Więc zamiast:

$ somecommand | anothercommand

możesz zrobić coś takiego:

$ somecommand | ??? | anothercommand

I myślę, że statystyki przepustowości (bajty / s) są drukowane do stderr. Ale nie mogę za życia przypomnieć sobie, czym było to polecenie.

Alex B.
źródło

Odpowiedzi:

47

cpipe jest prawdopodobnie lepszy do tych celów, ale innym powiązanym programem jest pv (Pipe Viewer):

Zrzut ekranu pv ze strony głównej pv

Jeśli podasz --rateflagę, wyświetli się szybkość transferu

Michał Mrożek
źródło
To był ten!
Alex B
17

Potrzebujesz narzędzia o nazwie cpipe .

Stosowanie:

tar cCf / - usr | cpipe -vr -vw -vt > /dev/null

Wydajność:

...
  in:  19.541ms at    6.4MB/s (   4.7MB/s avg)    2.0MB
 out:   0.004ms at   30.5GB/s (  27.1GB/s avg)    2.0MB
thru:  19.865ms at    6.3MB/s (   4.6MB/s avg)    2.0MB
... 
hobodave
źródło
2
Nie znaleziono już żadnego ważnego odniesienia do cpipe..., ale pvjest równoważne.
Yves Martin
1

Jeśli masz Python 2 lub 3 i pip ( sudo apt-get install python-pip), możesz zainstalować tqdm:

    python -m pip install tqdm

Następnie po prostu:

    somecommand | tqdm | anothercommand

Jeśli potrzebujesz pomocy, biegnij tqdm --help. Ma wiele opcji. Przeczytaj więcej i sugestie na https://github.com/tqdm/tqdm

casper.dcl
źródło
1

Jak widać na https://askubuntu.com/a/620234 , zauważ, że pvprzynajmniej może znacznie spowolnić twoją przepustowość. Artykuł powiązany z okładkami dd, ale chodzi o to, że pvmoże spowolnić twoje rzeczy. Jeśli cię to obchodzi i na przykład przesyłasz terabajty danych.

Mike S.
źródło
0

Teraz dostępne jest nowe narzędzie do sprawdzania dostępu do plików procesów już uruchomionych, wyświetlania postępu i szacowania przepustowości: https://github.com/Xfennec/cv

Jeśli Twój somecommandlub anothercommandjuż go znasz cv, jest tak samo łatwy w użyciu, jak watch cv -wqw przeciwnym razie musisz użyć -copcji monitorowania konkretnych procesów.

Yves Martin
źródło