Difference between revisions of "Disk Speed Test"

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

Revision as of 19:45, 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" 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

[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.