test/nvme_perf: remove "case" blocks from results parsing

These were not really needed and parsing functions had to
be unnecessarily called multiple times.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I277125bbb3d598a348164e8834843d0d04f1434c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4098
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Karol Latecki 2020-09-08 13:54:35 +02:00 committed by Tomasz Zawadzki
parent c2f804d753
commit 67d4ef8dab
2 changed files with 35 additions and 60 deletions

View File

@ -324,62 +324,33 @@ function bc() {
} }
function get_results() { function get_results() {
local iops bw stdev
local p90_lat p99_lat p99_99_lat
local mean_slat mean_clat
local reads_pct local reads_pct
local writes_pct local writes_pct
reads_pct=$(bc "$2 / 100") reads_pct=$(bc "$1 / 100")
writes_pct=$(bc "1 - $reads_pct") writes_pct=$(bc "1 - $reads_pct")
case "$1" in
iops)
iops=$(jq -r '.jobs[] | .read.iops + .write.iops' $TMP_RESULT_FILE) iops=$(jq -r '.jobs[] | .read.iops + .write.iops' $TMP_RESULT_FILE)
echo $iops
;;
mean_lat_usec)
mean_lat=$(jq -r ".jobs[] | (.read.lat_ns.mean * $reads_pct + .write.lat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $mean_lat
;;
p90_lat_usec)
p90_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"90.000000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"90.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $p90_lat
;;
p99_lat_usec)
p99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.000000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"99.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $p99_lat
;;
p99_99_lat_usec)
p99_99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.990000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"99.990000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $p99_99_lat
;;
stdev_usec)
stdev=$(jq -r ".jobs[] | (.read.clat_ns.stddev * $reads_pct + .write.clat_ns.stddev * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $stdev
;;
mean_slat_usec)
mean_slat=$(jq -r ".jobs[] | (.read.slat_ns.mean * $reads_pct + .write.slat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $mean_slat
;;
mean_clat_usec)
mean_clat=$(jq -r ".jobs[] | (.read.clat_ns.mean * $reads_pct + .write.clat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
echo $mean_clat
;;
bw_Kibs)
bw=$(jq -r ".jobs[] | (.read.bw + .write.bw)" $TMP_RESULT_FILE) bw=$(jq -r ".jobs[] | (.read.bw + .write.bw)" $TMP_RESULT_FILE)
echo $bw mean_lat=$(jq -r ".jobs[] | (.read.lat_ns.mean * $reads_pct + .write.lat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
;; p90_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"90.000000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"90.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
esac p99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.000000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"99.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
p99_99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.990000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"99.990000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
stdev=$(jq -r ".jobs[] | (.read.clat_ns.stddev * $reads_pct + .write.clat_ns.stddev * $writes_pct)/1000" $TMP_RESULT_FILE)
mean_slat=$(jq -r ".jobs[] | (.read.slat_ns.mean * $reads_pct + .write.slat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
mean_clat=$(jq -r ".jobs[] | (.read.clat_ns.mean * $reads_pct + .write.clat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
echo "$iops $bw $mean_lat $p90_lat $p99_lat $p99_99_lat $stdev $mean_slat $mean_clat"
} }
function get_bdevperf_results() { function get_bdevperf_results() {
case "$1" in local iops
iops) local bw_MBs
iops=$(grep Total $TMP_RESULT_FILE | awk -F 'Total' '{print $2}' | awk '{print $2}') read -r iops bw_MBs <<< $(grep Total $TMP_RESULT_FILE | tr -s " " | awk -F ":| " '{print $5" "$7}')
echo $iops echo "$iops $(bc "$bw_MBs * 1024")"
;;
bw_Kibs)
bw_KBs=$(grep Total $TMP_RESULT_FILE | awk -F 'Total' '{print $2}' | awk '{print $4}')
bc "$bw_KBs * 1024"
;;
esac
} }
function get_nvmeperf_results() { function get_nvmeperf_results() {

View File

@ -272,8 +272,9 @@ mean_clat_disks_usec=0
for ((j = 0; j < REPEAT_NO; j++)); do for ((j = 0; j < REPEAT_NO; j++)); do
if [ $PLUGIN = "spdk-perf-bdev" ]; then if [ $PLUGIN = "spdk-perf-bdev" ]; then
run_bdevperf > $TMP_RESULT_FILE run_bdevperf > $TMP_RESULT_FILE
iops_disks=$(bc "$iops_disks + $(get_bdevperf_results iops)") read -r iops bandwidth <<< $(get_bdevperf_results)
bw=$(bc "$bw + $(get_bdevperf_results bw_Kibs)") iops_disks=$(bc "$iops_disks + $iops")
bw=$(bc "$bw + $bandwidth")
cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.output cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.output
elif [ $PLUGIN = "spdk-perf-nvme" ]; then elif [ $PLUGIN = "spdk-perf-nvme" ]; then
run_nvmeperf $DISKNO > $TMP_RESULT_FILE run_nvmeperf $DISKNO > $TMP_RESULT_FILE
@ -305,15 +306,18 @@ for ((j = 0; j < REPEAT_NO; j++)); do
elif [[ $RW = *"write"* ]]; then elif [[ $RW = *"write"* ]]; then
rwmixread=0 rwmixread=0
fi fi
iops_disks=$(bc "$iops_disks + $(get_results iops $rwmixread)")
mean_lat_disks_usec=$(bc "$mean_lat_disks_usec + $(get_results mean_lat_usec $rwmixread)") read -r iops bandwidth mean_lat_usec p90_lat_usec p99_lat_usec p99_99_lat_usec \
p90_lat_disks_usec=$(bc "$p90_lat_disks_usec + $(get_results p90_lat_usec $rwmixread)") stdev_usec mean_slat_usec mean_clat_usec <<< $(get_results $rwmixread)
p99_lat_disks_usec=$(bc "$p99_lat_disks_usec + $(get_results p99_lat_usec $rwmixread)") iops_disks=$(bc "$iops_disks + $iops")
p99_99_lat_disks_usec=$(bc "$p99_99_lat_disks_usec + $(get_results p99_99_lat_usec $rwmixread)") mean_lat_disks_usec=$(bc "$mean_lat_disks_usec + $mean_lat_usec")
stdev_disks_usec=$(bc "$stdev_disks_usec + $(get_results stdev_usec $rwmixread)") p90_lat_disks_usec=$(bc "$p90_lat_disks_usec + $p90_lat_usec")
mean_slat_disks_usec=$(bc "$mean_slat_disks_usec + $(get_results mean_slat_usec $rwmixread)") p99_lat_disks_usec=$(bc "$p99_lat_disks_usec + $p99_lat_usec")
mean_clat_disks_usec=$(bc "$mean_clat_disks_usec + $(get_results mean_clat_usec $rwmixread)") p99_99_lat_disks_usec=$(bc "$p99_99_lat_disks_usec + $p99_99_lat_usec")
bw=$(bc "$bw + $(get_results bw_Kibs $rwmixread)") stdev_disks_usec=$(bc "$stdev_disks_usec + $stdev_usec")
mean_slat_disks_usec=$(bc "$mean_slat_disks_usec + $mean_slat_usec")
mean_clat_disks_usec=$(bc "$mean_clat_disks_usec + $mean_clat_usec")
bw=$(bc "$bw + $bandwidth")
cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.json cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.json
cp $testdir/config.fio $result_dir/config_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.fio cp $testdir/config.fio $result_dir/config_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.fio