Difference between revisions of "Disk Speed Test"

From James Dooley's Wiki
Jump to: navigation, search
(Script)
(Script)
Line 23: Line 23:
 
done
 
done
  
echo "Testing seeker $1"
+
if [ `which seeker 2>/dev/null` ]
for i in `seq 1 $testcount`;
+
then
do
+
echo "Testing seeker $1"
seeker $1 | grep "Results"
+
for i in `seq 1 $testcount`;
done
+
do
 +
seeker $1 | grep "Results"
 +
done
 +
else
 +
echo "Seeker is not installed, please install from rpmforge: 'yum install seeker'"
 +
fi
  
echo "Testing DD pv"
+
if [ `which pv 2>/dev/null` ]
for i in `seq 1 $testcount`;
+
then
do
+
echo "Testing DD pv"
sync
+
for i in `seq 1 $testcount`;
echo "Write Test"
+
do
dd if=/dev/zero bs=1M count=2048 2>/dev/null | pv | dd of=$testpath/ddfile 2>&1 | grep copied
+
sync
 +
echo "Write Test"
 +
dd if=/dev/zero bs=1M count=2048 2>/dev/null | pv | dd of=$testpath/ddfile 2>&1 | grep copied
  
sync
+
sync
echo "Read Test"
+
echo "Read Test"
cat $testpath/ddfile | pv > /dev/null
+
cat $testpath/ddfile | pv > /dev/null
  
rm -f $testpath/ddfile
+
rm -f $testpath/ddfile
done
+
done
 +
else
 +
echo "PV is not installed, please install 'yum install pv'"
 +
fi
 
</code>
 
</code>
  

Revision as of 19:21, 14 June 2011

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

[javascript,n]

  1. !/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" for i in `seq 1 $testcount`; do sync echo "Write Test" dd if=/dev/zero bs=1M count=2048 2>/dev/null | pv | dd of=$testpath/ddfile 2>&1 | grep copied

sync echo "Read Test" cat $testpath/ddfile | pv > /dev/null

rm -f $testpath/ddfile done else echo "PV is not installed, please install 'yum install pv'" fi

Usage

[bash,n] sh hdtest <drive path>

What to change

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