iSCSI-Ziel
Ubuntu 14.04 (Trusty Tahr) mit 16 GB RAM und 16 Core-CPU als LVM-gestütztes iSCSI-Ziel mit drei Samsung-SSD-Festplatten, die jeweils 65.000 IOPS mit einem LSI 6-Gbit / s-Controller mit integriertem Cache ausführen können.
Benchmark auf SSD-Festplatte im Ziel:
fio --filename=/dev/sdd --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=ssd-max
iops=65514
Wo sdd
ist in Hardware- RAID 0 mit drei Samsung 850 EVO SSDs konfiguriert .
Initiator
Ich habe eine 500G LUN auf einem Ubuntu 14.04 Client mit 32 GB RAM und 8 Core CPUs exportiert.
Benchmark für exportierte LUN
fio --filename=/dev/sdg --direct=1 --sync=1 --rw=write --bs=4k --numjobs=10 --iodepth=1 --runtime=60 --time_based --group_reporting --name=client-max
iops=2400
Bei DAS und über das Netzwerk ist ein erheblicher Leistungsabfall zu verzeichnen. Ich habe mindestens 10.000 IOPS erwartet.
Die Kommunikation zwischen Ziel und Initiator beträgt weniger als 1 ms und iperf zeigt einen Netzwerkdurchsatz von 9,2 Gbit / s.
Ich verstehe, dass sich 4k-Schreibvorgänge auf die Leistung auswirken werden, da alle Daten den Netzwerkstapel sowohl des Initiators als auch des Ziels durchlaufen müssen, bevor sie auf die Festplatte geschrieben werden. Dies ist jedoch ein inakzeptabler Rückgang von 65k auf 2k.
Wo kann das Problem liegen? Ich habe eine 10-Gbit / s-Ethernet-Netzwerkkarte zwischen dem Ziel und dem Initiator. Irgendwelche Ideen?