V návaznosti na thread o bootování Win7 ze sítě jsem narazil na zajímavou problematiku - ladění výkonu iSCSI.
Zatím laďme lokálně a do sítě se přesuňme, až bude vyladěno přes loopback.
Níže naměřené výsledky jsou dost zoufalé. Použitý software je IET jako target, open-iscsi jako initiator.
Platforma:
Linux tix 2.6.32-5-amd64 #1 SMP Mon Oct 3 03:59:20 UTC 2011 x86_64 GNU/Linux
HW:
Atom D510, 4GB DDR2, 3x Samsung F2 v mdraid jako RAID5.
Tady rychlý test volumu připojeného přes iSCSI lokálně (target je stejný stroj jako initiator, ale není připojený přes loopback)
Kód:
tix:/home/marty# hdparm -tT /dev/sdd1
/dev/sdd1:
Timing cached reads: 1666 MB in 2.00 seconds = 832.52 MB/sec
Timing buffered disk reads: 136 MB in 3.04 seconds = 44.76 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd1
/dev/sdd1:
Timing cached reads: 1624 MB in 2.00 seconds = 812.29 MB/sec
Timing buffered disk reads: 170 MB in 3.02 seconds = 56.26 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd1
/dev/sdd1:
Timing cached reads: 1662 MB in 2.00 seconds = 830.86 MB/sec
Timing buffered disk reads: 176 MB in 3.01 seconds = 58.53 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd1
/dev/sdd1:
Timing cached reads: 1660 MB in 2.00 seconds = 830.37 MB/sec
Timing buffered disk reads: 182 MB in 3.01 seconds = 60.39 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd1
/dev/sdd1:
Timing cached reads: 1654 MB in 2.00 seconds = 827.29 MB/sec
Timing buffered disk reads: 182 MB in 3.03 seconds = 59.98 MB/sec
Připojený přes loopback:
Kód:
tix:/home/marty# hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 1572 MB in 2.00 seconds = 785.67 MB/sec
Timing buffered disk reads: 202 MB in 3.02 seconds = 66.80 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 1600 MB in 2.00 seconds = 800.18 MB/sec
Timing buffered disk reads: 212 MB in 3.03 seconds = 70.00 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 1576 MB in 2.00 seconds = 787.73 MB/sec
Timing buffered disk reads: 212 MB in 3.01 seconds = 70.32 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 1542 MB in 2.00 seconds = 770.41 MB/sec
Timing buffered disk reads: 218 MB in 3.03 seconds = 71.89 MB/sec
tix:/home/marty# hdparm -tT /dev/sdd
/dev/sdd:
Timing cached reads: 1594 MB in 2.00 seconds = 797.01 MB/sec
Timing buffered disk reads: 214 MB in 3.02 seconds = 70.95 MB/sec
A napřímo test pole, na kterém to běží:
Kód:
tix:/home/marty# hdparm -tT /dev/md2
/dev/md2:
Timing cached reads: 1540 MB in 2.00 seconds = 769.85 MB/sec
Timing buffered disk reads: 434 MB in 3.05 seconds = 142.53 MB/sec
tix:/home/marty# hdparm -tT /dev/md2
/dev/md2:
Timing cached reads: 1554 MB in 2.00 seconds = 776.51 MB/sec
Timing buffered disk reads: 318 MB in 3.00 seconds = 105.87 MB/sec
tix:/home/marty# hdparm -tT /dev/md2
/dev/md2:
Timing cached reads: 1608 MB in 2.00 seconds = 803.60 MB/sec
Timing buffered disk reads: 352 MB in 3.00 seconds = 117.27 MB/sec
tix:/home/marty# hdparm -tT /dev/md2
/dev/md2:
Timing cached reads: 1690 MB in 2.00 seconds = 844.82 MB/sec
Timing buffered disk reads: 418 MB in 3.01 seconds = 138.94 MB/sec
A teď k věci:- jaká je v praxi režie iSCSI, má smysl ho používat pro lokálně běžící virtuální stroje místo přímého přístupu k RAW souboru?
- jak poladit IET, aby se při lokálním připojení rychlosti dostaly alespoň nad 2/3 praktické propustnosti přímého přístupu na disk?
- jak připravit celou konfiguraci pro dosažení podobného výkonu po síti?
Jsem nakloněn případné koupi nového routeru / switche, do kterého je připojen NAS. V síti mám zatím 2ks RB250GS, což jsou gigové managovatelné mikrotikové switche. V současné době mi na tomto HW (NAS) běží virtuální stroj s Windows, který tomu dává slušný kouř (vytížení procesoru je průměrně na 10%), tu mašinu bych mohl případně posunout jinam...
Nezdá se mi varianta, že by řešením byl pouze upgrade procesoru. Pořízení síťovky s TCP offloadingem asi taky není schůdná cesta (znamenalo by to přeházet celý HW, nejsou sloty).