测量壳内的管道吞吐量

测量壳内的管道吞吐量

有一个 shell 命令允许您测量数据通过它的速度,因此您可以测量管道中命令的输出速度。所以而不是:

$ somecommand | anothercommand

你可以这样做:

$ somecommand | ??? | anothercommand

我认为吞吐量统计数据(字节/秒)会打印到 stderr。但我一辈子都记不起那个命令是什么。

答案1

管道对于这些目的可能更好,但另一个相关程序是光伏发电(管道查看器):

pv主页的pv截图

如果你给它标志,--rate它会显示传输速率

答案2

你需要一个名为管道

用法:

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

答案3

正如所见https://askubuntu.com/a/620234,请注意pv,至少会显着降低您的吞吐量。这篇文章链接到了 cover dd,但重点是它pv会减慢你的速度。如果您关心,例如您正在传输 TB 级的数据。

答案4

现在可以使用一个新工具来检查已运行的进程文件访问、显示进度和吞吐量估计:https://github.com/Xfennec/cv

如果您的somecommandanothercommand已被 已知cv,则它与 一样易于使用watch cv -wq,否则您必须使用-c选项来专门监视您的进程。

相关内容