Server : nginx/1.24.0 System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE Directory : /usr/share/doc/pv/ |
Upload File : |
#!/bin/bash # # Benchmark the read/write performance of pv by looking at the number of # read() and write() calls and the average amount of data transferred each # time, as suggested by Ville Herva <Ville.Herva@iki.fi>. # test_input=$(mktemp /tmp/pvbench1XXXXXX) strace_output=$(mktemp /tmp/pvbench2XXXXXX) trap 'rm -f ${test_input} ${strace_output}' EXIT pv=${pv:-./pv} test -x "${pv}" || pv="pv" dd if=/dev/zero of="${test_input}" bs=1k count=1k >/dev/null 2>&1 echo -e "Buf(k)\tRate(k)\tReads\tRsize\tWrites\tWsize" for ((buffer=100; buffer<=1000; buffer+=100)); do for ((rate=100; rate<=1000; rate+=100)); do rateparm="-L ${rate}k" test ${rate} -eq 0 && rateparm="" strace -tt -o "${strace_output}" \ "${pv}" "${rateparm}" -B "${buffer}k" \ -f < "${test_input}" > /dev/null 2>&1 rdata=$( awk '$2~/^read\(0,/{c++;t+=$NF}END{print c "\t" t/c}' \ "${strace_output}" ) wdata=$( awk '$2~/^write\(1,/{c++;t+=$NF}END{print c "\t" t/c}' \ "${strace_output}" ) echo -e "${buffer}\t${rate}\t${rdata}\t${wdata}" done done # EOF