web-dev-qa-db-ja.com

シェルのパイプスループットを測定する

データが通過する速度を測定できるシェルコマンドがあるため、パイプ内のコマンドの出力速度を測定できます。したがって、代わりに:

$ somecommand | anothercommand

あなたは次のようなことができます:

$ somecommand | ??? | anothercommand

そして、スループット統計(バイト/秒)がstderrに出力されると思います。しかし、私はその命が何であったか思い出せません。

37
Alex B

cpipe はおそらくこれらの目的には適していますが、別の関連プログラムは pv (パイプビューア)です。

Screenshot of pv from the pv homepage

--rateフラグは転送速度を示します

50
Michael Mrozek

cpipe というユーティリティが必要です。

使用法:

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

出力:

...
  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
... 
18
hobodave

https://askubuntu.com/a/620234 に示されているように、少なくともpvはスループットを大幅に低下させる可能性があることに注意してください。リンクされている記事はddをカバーしていますが、重要なのはpvによってコンテンツが遅くなる可能性があるということです。たとえば、テラバイト単位のデータを転送する場合などです。

1
Mike S

Python 2または3とpip(Sudo apt-get install python-piptqdmをインストールできます:

    python -m pip install tqdm

次に、単に:

    somecommand | tqdm | anothercommand

ヘルプが必要な場合は、tqdm --helpたくさんのオプションがあります。 https://github.com/tqdm/tqdm で詳細を読んで提案してください。

1
casper.dcl

新しいツールが利用可能になり、すでに実行中のプロセスのファイルアクセスを検査し、進行状況とスループットの見積もりを表示できます。 https://github.com/Xfennec/cv

somecommandまたはanothercommandがすでにcvで認識されている場合は、watch cv -wqと同じくらい簡単に使用できます。そうでない場合は、-cオプションを使用してプロセスを具体的に監視する必要があります。

0
Yves Martin