Ukur throughput pipa di shell

35

Ada perintah shell yang memungkinkan Anda untuk mengukur seberapa cepat data melewatinya, sehingga Anda dapat mengukur kecepatan output dari perintah dalam pipa. Jadi alih-alih:

$ somecommand | anothercommand

Anda dapat melakukan sesuatu seperti:

$ somecommand | ??? | anothercommand

Dan statistik throughput (byte / detik) dicetak ke stderr, saya pikir. Tetapi saya tidak bisa seumur hidup saya mengingat apa perintah itu.

Alex B
sumber

Jawaban:

47

cpipe mungkin lebih baik untuk tujuan ini, tetapi program lain yang terkait adalah pv (Pipe Viewer):

Cuplikan layar pv dari beranda pv

Jika Anda memberikan --ratebendera itu akan menunjukkan tingkat transfer

Michael Mrozek
sumber
Itu dia!
Alex B
17

Anda memerlukan utilitas bernama cpipe .

Pemakaian:

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

Keluaran:

...
  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
sumber
2
Tidak lagi menemukan referensi yang valid untuk cpipe... tetapi pvsetara.
Yves Martin
1

Jika Anda memiliki Python 2 atau 3 dan pip ( sudo apt-get install python-pip) Anda dapat menginstal tqdm:

    python -m pip install tqdm

Maka cukup:

    somecommand | tqdm | anothercommand

Jika Anda butuh bantuan, jalankan tqdm --help. Ini memiliki banyak pilihan. Jangan ragu untuk membaca lebih lanjut dan berikan saran di https://github.com/tqdm/tqdm

casper.dcl
sumber
1

Seperti yang terlihat di https://askubuntu.com/a/620234 , perhatikan bahwa pv, setidaknya, dapat memperlambat throughput Anda secara signifikan. Artikel terkait dengan sampul dd, tetapi intinya adalah yang pvdapat memperlambat barang-barang Anda. Misalnya, jika Anda peduli, dan jika Anda mentransfer terabyte data.

Mike S
sumber
0

Alat baru sekarang tersedia untuk memeriksa proses yang sudah berjalan mengakses file, memperkirakan progres dan throughput: https://github.com/Xfennec/cv

Jika Anda somecommandatau anothercommandsudah dikenal oleh cv, mudah digunakan watch cv -wq, atau Anda harus menggunakan -copsi untuk memantau secara khusus proses Anda.

Yves Martin
sumber