Disk Speed Test

From James Dooley's Wiki
Revision as of 14:32, 25 March 2014 by Smsldoo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

Runs hdparm -t, seeker and Nates dd script.

By default each test is run 3 times to get a good running average.

Outputs are cleaned up to provide usable information

For Nates dd test you will need to have the drive mounted and listed in fstab

Script

#!/bin/bash

testpath=`grep $1 /etc/fstab | awk '{print $2}'`
testcount=3

echo "Testing hdparm -t $1"
for i in `seq 1 $testcount`;
do
	hdparm -t $1 | grep "Timing"
done

if [ `which seeker 2>/dev/null` ]
then
	echo "Testing seeker $1"
	for i in `seq 1 $testcount`;
	do
		seeker $1 | grep "Results"
	done
else
	echo "Seeker is not installed, please install from rpmforge: 'yum install seeker'"
fi

if [ `which pv 2>/dev/null` ]
then
	echo "Testing DD pv"
	echo "Write Test"
	for i in `seq 1 $testcount`;
	do
		sync
		dd if=/dev/zero bs=1M count=2048 2>/dev/null | dd of=$testpath/ddfile 2>&1 | grep copied
	done
	echo "Read Test"
	for i in `seq 1 $testcount`;
	do
		sync
		cat $testpath/ddfile | pv -trb -s 2G > /dev/null
	done
	rm -f $testpath/ddfile
else
	echo "PV is not installed, please install 'yum install pv'"
fi

Usage

sh hdtest <drive path>

What to change

testcount This should be set to the number of times you want this test to run.