IO性能测试

2024-05-28 08:54:31 1866

IO性能测试

蓝队云小课堂:

在服务器维护中,经常需要测试磁盘IO性能,以下介绍一个磁盘io性能测试的脚本,以作参考

#!/bin/bash

 

# Description: IO性能测试

 

echo "IO testing...."

io_test() {

    (LANG=C dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$ ) 2>&1 | awk -F, '{io=$NF} END { print io}' | sed 's/^[ \\t]*//;s/[ \\t]*$//'

}

 

io1=$( io_test )

echo "I/O speed(1st run)   : $io1"

io2=$( io_test )

echo "I/O speed(2nd run)   : $io2"

io3=$( io_test )

echo "I/O speed(3rd run)   : $io3"

ioraw1=$( echo $io1 | awk 'NR==1 {print $1}' )

[ "`echo $io1 | awk 'NR==1 {print $2}'`" == "GB/s" ] && ioraw1=$( awk 'BEGIN{print '$ioraw1' * 1024}' )

ioraw2=$( echo $io2 | awk 'NR==1 {print $1}' )

[ "`echo $io2 | awk 'NR==1 {print $2}'`" == "GB/s" ] && ioraw2=$( awk 'BEGIN{print '$ioraw2' * 1024}' )

ioraw3=$( echo $io3 | awk 'NR==1 {print $1}' )

[ "`echo $io3 | awk 'NR==1 {print $2}'`" == "GB/s" ] && ioraw3=$( awk 'BEGIN{print '$ioraw3' * 1024}' )

ioall=$( awk 'BEGIN{print '$ioraw1' + '$ioraw2' + '$ioraw3'}' )

ioavg=$( awk 'BEGIN{printf "%.1f", '$ioall' / 3}' )

echo "Average I/O speed    : $ioavg MB/s"

更多小知识,可联系蓝队云一起探讨。

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: