这是一个小bash脚本测试硬盘的传输速度。它应该是一个近似值。速度值取自Linux dd命令输出。测试硬盘速度的一种方法是使用hdparm命令:
# hdparm -Tt /dev/sda
输出:
/dev/sda:
Timing cached reads: 7216 MB in 2.00 seconds = 3615.89 MB/sec
Timing buffered disk reads: 288 MB in 3.00 seconds = 95.87 MB/sec
但是,在这种情况下,hdparm命令正在访问原始硬盘驱动器,而不管所有分区和文件系统如何。以下脚本的弱点在于,它没有考虑源硬盘驱动器的读取速度,但是使用NFS或samba测量网络上两个硬盘驱动器之间的传输速度或两个节点之间的速度时,它是准确的。使用3个参数,源文件,目标文件和运行次数运行脚本以求平均值:
注意:如果您没有要复制的文件,只需运行以下命令即可创建一个linux命令几秒钟,然后用CTRL + C中断:
$ cat /dev/zero > myfile.zero
speed_test.sh:
#!/bin/bash
# USAGE:
# ./speed_test.sh /path/to/my/file /path/to/destination number_of_tests
NUM_TESTs=$3
SUM=0
for i in$(seq 1 $NUM_TESTs); do
REC=`ddif=$1 of=$22>some_random_file_ ; catsome_random_file_|cut -d ” “ -f8 |tail -1`
SUM=`echo$SUM + $REC|bc`
done
RESULT=`echo$SUM / $NUM_TESTs|bc|awk‘{ str1=str1 __g5_token5d95c49bae1db }END{ print str1 }’`
echo$RESULT MB/s
#clean up
rmsome_random_file_
rm$2
./speed_test.sh /mnt/sdb1/ubuntu.iso /mnt/sda1/ubuntu.dd 3
输出:
57 MB/s