HDD teszt

Üdv mindenkinek,

Egy érdekes jelenséggel találkoztam tegnap. Szeretném megbecsülni egy rendszer diszk-alrendszer sebességét az alábbiak szerintHardver: ProLiant ML150 G6

  • CPU Intel(R) Xeon(R) E5504 @2.00GHz
  • Memory 1x 2GByte DIMM 800 MHz (1.2 ns)
  • HDD 4x SATA Seagate ST31500341AS
  • Controller Intel 82801JI (ICH10 Family) SATA AHCI

A teszt.sh Teszt szkript
(!!! AZ ADATOKAT TÖRLI A MEREVLEMEZRŐL !!!)


#!/bin/bash

[ "${1}" ] || exit

MUL=1000

echo "==== WRITE ==== ${WO} ===="
echo "Block"
for i in 4096,256 2048,512 1024,1024 512,2048 256,4096 128,8192 64,16384; do
BS=${i%%,*}
COUNT=${i#*,}; COUNT=$((${COUNT}*${MUL}))
echo -n "${BS} "
dd if="/dev/zero" of=${1} bs=${BS} count=${COUNT} 2>&1 | sed -n "/copied/{s/[[:digit:]]\+ bytes//;p}"
done

echo -e "\n==== READ ==== ${WO} ===="
echo "Block"
for i in 4096,256 2048,512 1024,1024 512,2048 256,4096 128,8192 64,16384; do
BS=${i%%,*}
COUNT=${i#*,}; COUNT=$((${COUNT}*${MUL}))
echo -n "${BS} "
dd if=${1} of="/dev/null" bs=${BS} count=${COUNT} 2>&1 | sed -n "/copied/{s/[[:digit:]]\+ bytes//;p}"
done

./teszt.sh /dev/sda

==== WRITE ==== /dev/sda ====
Block
4096 (1.0 GB) copied, 6.98562 s, 150 MB/s
2048 (1.0 GB) copied, 8.28278 s, 127 MB/s
1024 (1.0 GB) copied, 8.564 s, 122 MB/s
512 (1.0 GB) copied, 8.57407 s, 122 MB/s
256 (1.0 GB) copied, 8.28517 s, 127 MB/s
128 (1.0 GB) copied, 8.69116 s, 121 MB/s
64 (1.0 GB) copied, 13.0868 s, 80.1 MB/s
==== READ ==== /dev/sda ====
Block
4096 (1.0 GB) copied, 0.317867 s, 3.3 GB/s
2048 (1.0 GB) copied, 0.456915 s, 2.3 GB/s
1024 (1.0 GB) copied, 0.680126 s, 1.5 GB/s
512 (1.0 GB) copied, 1.11961 s, 937 MB/s
256 (1.0 GB) copied, 2.02106 s, 519 MB/s
128 (1.0 GB) copied, 3.94157 s, 266 MB/s
64 (1.0 GB) copied, 7.92936 s, 132 MB/s

./teszt.sh /dev/sdb

==== WRITE ==== /dev/sdb ====
Block
4096 (1.0 GB) copied, 8.96606 s, 117 MB/s
2048 (1.0 GB) copied, 38.4536 s, 27.3 MB/s
1024 (1.0 GB) copied, 39.2138 s, 26.7 MB/s
512 (1.0 GB) copied, 40.0392 s, 26.2 MB/s
256 (1.0 GB) copied, 42.9988 s, 24.4 MB/s
128 (1.0 GB) copied, 42.0285 s, 24.9 MB/s
64 (1.0 GB) copied, 48.6886 s, 21.5 MB/s
==== READ ==== /dev/sdb ====
Block
4096 (1.0 GB) copied, 8.11831 s, 129 MB/s
2048 (1.0 GB) copied, 8.24436 s, 127 MB/s
1024 (1.0 GB) copied, 8.11913 s, 129 MB/s
512 (1.0 GB) copied, 8.11983 s, 129 MB/s
256 (1.0 GB) copied, 8.11684 s, 129 MB/s
128 (1.0 GB) copied, 8.11178 s, 129 MB/s
64 (1.0 GB) copied, 8.55081 s, 123 MB/s

Miközben futott a teszt az iostat programmal vizsgáltam az írás/olvasás mennyiségét.

SDA write
r/s=0.00 w/s=~249.00

SDA read
r/s=0.00 w/s=0.00

SDB write
r/s=~6543.00 w/s=~52.00

SDB read
r/s=~2028.00 w/s=0.00

Az eredményekkel kapcsolatban lennének kérdéseim mert nem értem a látottakat.

- Miért van az, hogy az SDA sokkal gyorsabb írást produkál mint a másik három ugyanolyan merevlemez?
- Miért van az, hogy az SDA olvasás teszt alatt fizikailag nulla bájt olvasás látszik a másik három merevlemezzel ellentétben?
- Miért van az, hogy az SDB irás teszt alatt nem jelentéktelen mértékü olvasás is történik az SDA-val ellentétben?

A válaszokat előre is köszönöm.

Hozzászólások

Milyen winyok ezek?

Amugy a 0 read az a diskcache. Tessek sokkal-sokkal tobb adatot olvasni, mint amennyi memoria a gepben van.

Vannak amugy kimondottan disk io benchmark progik, pl iogen, tessek azt megnezni.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Igen ezt gondoltam csak nem értem, hogy miért csak az SDA esetében látszik meg a mérési eredmémyeken?
Akárhányszor megismételtem minden esetben nagyságrendileg ugyanazok az értékek jöttek.

Közben lefuttattam a tesztet nagyobb mennyiségű adat másolásával


==== WRITE ==== /dev/sda ====
Block
4096 (4.2 GB) copied, 31.9108 s, 131 MB/s
2048 (4.2 GB) copied, 142.037 s, 29.5 MB/s
1024 (4.2 GB) copied, 156.479 s, 26.8 MB/s
512 (4.2 GB) copied, 165.581 s, 25.3 MB/s
256 (4.2 GB) copied, 173.486 s, 24.2 MB/s
128 (4.2 GB) copied, 174.076 s, 24.1 MB/s
64 (4.2 GB) copied, 197.886 s, 21.2 MB/s
==== READ ==== /dev/sda ====
Block
4096 (4.2 GB) copied, 33.1003 s, 127 MB/s
2048 (4.2 GB) copied, 31.821 s, 132 MB/s
1024 (4.2 GB) copied, 31.9121 s, 131 MB/s
512 (4.2 GB) copied, 31.7773 s, 132 MB/s
256 (4.2 GB) copied, 31.826 s, 132 MB/s
128 (4.2 GB) copied, 31.8322 s, 132 MB/s
64 (4.2 GB) copied, 34.1037 s, 123 MB/s

Itt már látszik, hogy nem fért be a memóriába.

--
maszili

Köszönöm a hozzászólásokat.

Esetleg tudna valaki olyan eszközt ajánlani amivel korrekt IO mérést lehetne blokk eszközön végezni?
A DD-t és a HDPARM-ot ismerem :) de valami komolyabb kellene.

--
maszili