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:
  1. 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?
  2. 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?
  3. 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).