HDD test
Материал из noname.com.ua
Тест жестких дисков (и других блочных устройств)
Линейное чтение
Линейное чтение (с заданным шагом). Да, я знаю что это весьма косвенный показатель. Но куда ж без него.
Не забыть iflag=direct
Значения count и step подбирать по желанию - насколько усреднять.
Естественно читать чаще чем нужно смысла нет, а вот для больших дисков несколько интерполировать.
#!/bin/bash step=2048 i=1 device=sda while A=`dd iflag=direct if=/dev/${device} of=/dev/null skip=$[${step}*${i}]k bs=8k count=256k 2>&1` do B=`echo $A | grep "bytes" | awk ' {print $14" "$15} '` echo $[${step}*${i}]" "$B. echo $[${step}*${i}]" "$B | sed s/','/'.'/g >> line_read.${device} let i=i+1 done
Далее строим график GnuPlot, что то вроде такого:
#!/usr/bin/gnuplot -persist set terminal png size 1600,800 set output "Line_Read_Speed_sda.png" set xlabel "Speed, MB/" set ylabel "Offset" set grid plot \ "line_read.sda" using 1:2 with linespoints lt rgb "green" lw 2 title "Line Read"
Разброс есть, но вцелом похоже на правду.
Многопоточность
Есть замечательная утилита - fio для работы с которой я написал небольшую обвязку