1. Teil: Samba "Vergleich der RAID Methoden und Filesysteme"
Aus NAS-4220
Inhaltsverzeichnis |
Einleitung
Das Benchmarktool mit dem ich die Tests durchgeführt habe ist iozone. Dieses Tool ist recht einfach zu installieren und für verschiedene Plattformen verfügbar. Zum Verständnis der Grafik ist anzumerken, dass hier auch eine sogenannte Rekordgrösse oder auch Blockgrösse mit in die Messung eingeflossen ist. Was ist das für eine Grösse werdet ihr auch fragen? Das Handling von Daten wird immer in Blöcken durchgeführt. Für den Windows Test sind 3 Blockgrössen interessant 4k (Memory page Size), 8K (Blockgrösse für den Netzwerkverkehr), 64K (wird von Windows für den Transfer benutzt sofern die Daten grösser als 64K sind). Bei den Vergleichen beziehe ich mich immer auf die Rekordgrösse 64K. Getestet wird der Lese und Schreibzugriff sowie wiederholtes Lesen und Schreiben. Das Kommando sieht wie folgt aus:
iozone -Rab [Excel Datei mit Ergebnis] -i 0 -i 1 -+u -f [Pfad zum NAS Verzeichnis inkl. Dateinamen] -q 64k -n 2M -g 1G –z
Es werden Dateigrössen von 2MB bis 1GB getestet. Das Ergebnis ist dann ein ExcelSheet. Getestet habe ich das NAS ausschliesslich über SAMBA (Windows Share). Wichtig war mir dabei die verschiedenen RAID Methoden und Filesysteme gegenüberzustellen.
Performancevergleich RAID1, RAID0, SPAN mit Filesystem ext3
Upload/Schreiben
Die Spitze auf der linken Seite entsteht durch entsprechende Bufferingmechanismen. Man kann erkennen, dass mit verschiedenen Abstufungen dieser bis zu einer Filegrösse von 64MB Einfluss auf die Geschwindigkeit hat. Der Durchsatz pendelt sich ab einer Filegrösse von 64MB bei durchnittlich 7597 Kbyte/sec für RAID1 ein und bei RAID0 um 8811 Kbyte/sec. Das macht also einen Unterschied von 1214 Kbyte/sec welches RAID0 in der Schreibperformance schneller ist als RAID1 Bei SPAN pendelt sich der Uploadwert erst ab einer Grösse von 128MB ein. Der durchnittliche Wert bei 64K Reckrdgrösse liegt dann bei 8765Kbyte/sec. Demzufolge liegt SPAN und RAID0 auf dem gleichen Performancelevel.
Download/Lesen
Beim Download ist der Cache bis zu einer Filegrösse von 64 MB erkennbar. Ab dieser Grösse pendelt sich der Wert bei RAID1 um 9871 Kbyte/sec ein und bei RAID0 um 11449,5 Kbyte/sec. was ungefähr den gleichen Wert für SPAN mit 11146 Kbyte/sec darstellt. Der Unterschied beim lesenden Zugriff zwischen RAID0 und RAID1 liegt bei 1578 Kbyte/sec
Performancevergleich ext3, ext2, fat unter JBOD und SPAN
Bemerkung: Das Filesystem Fat ist nur mit JBOD aufsetztbar.
Upload/Schreiben
SPAN liegt mit ext3 wie bereits festgestellt bei 8765Kbyte/sec, mit ext2 bei 11837 Kbyte/sec und JBOD mit fat bei 7991 Kbyte/sec. Somit ist erkennbar ext2 hat den schnellsten Schreibzugriff und fat ist das langsamste Filesystem. Nehmen wir wieder den Taschenrechner zur Hand, so ist der Unterschied zwischen ext2 und ext3 3072Kbyte/sec und zwischen ext3 und fat verschwindend geringe 774 Kbyte/sec.
Download/Lesen
SPAN pendelt sich mit ext3 bei 11146 Kbyte/sec, ext2 bei 12577 Kbyte/sec und fat bei 9113 Kbyte/sec ein hier stellt sich das gleiche Bild wie beim Upload dar auch hier ist der Gewinner ext2 und fat ist das langsamere Filesystem. Der Unterschied zwischen ext2 und ext3 liegt bei 11431 Kbyte/sec und zwischen ext3 und fat noch bei 2033 Kbyte/sec
Analyse:
Dateien die kleiner sind als 128 MB werden beim Lese und Schreibzugriff gecacht was entsprechende Schwankungen in der Up- und Downloadrate bei mehreren Dateien verursacht. Es sind durch den Cache auch höhere Up- und Download Werte erreichbar als physikalisch durch das Ethernet passen würde. So erreicht man Werte beim Re-write (mehrmaliges Lesen der gleichen Datei, s. Testprotokolle im Anhang) mit Dateien bis zu einer Filegrösse von 16MB bis zu 652 Mbyte/sec. SPAN und RAID0 haben die Nase vorn und sind schneller als RAID1. Das Filesystem ext2 ist das schnellere Filesystem gegenüber ext3, hat aber nicht die Sicherheit bei Ausfällen zu bieten. Der Verlierer ist fat. Ist auch egal keiner brauchs und raiden kann man damit auch nicht.
Ein 100Mbps Ethernet hat einen theoretisch maximalen Durchsatz von 12,5 Mbyte/sec der aber aufgrund von Steuerinformation nicht erreicht werden kann. Eine Gigabit Ethernet Verbindung liegt bei 125Mbyte/sec. Diese Gigabit Ethernet Performance bei SAMBA wird erst genutzt sofern die Filegrösse kleiner als 128MB ist und der Cache im NAS aktiv wird. Da die Lesegeschwindigkeit des NAS an die 100Mbs Verbindung herankommt kann dies nur wirklich bei einer Gigabit Ethernetverbindung erreicht werden. Auch würde ein Gigabit Ethernet für langsame Geräte mit einer Performance unterhalb der Fast Ethernet Grenze Sinn machen wenn es im Netzverbund mit anderen Geräten ist, die eine Gigabit Ethernet Verbindung haben. Die schnelleren Geräte würden unter bestimmten Bedingungen ihre Geschwindigkeit auf die des langsamsten Gerätes drosseln. Weitere Ausführung würde ich da mal den Netzwerkspezies überlassen.
Auch kann man an diesen Test sehr gut ablesen wie gross der Einfluss der Grösse der Datenblöcke auf den Durchsatz ist. Deshalb gehe ich davon aus, dass der letzte Performancetest auf Linux solch schlechte Werte für Samba ermittelt hat, weil die Blockgrösse so niedrig war. Sie war hier durch das dd Kommando auf nur 512 Byte gesetzt, viel zu klein für eine gute Performance. Um meine Behauptung das es auch auf Linux mit Samba schneller geht zu untermauern werde ich den Test auf Linux irgendwann mal mit iozone nachholen. Überrascht hat mich jedoch bei diesem Test, dass die Performance des IB-NAS4220-B über der des Thecus 2100 liegt (siehe Thecus Bild in Übersicht, Quelle des Bildes, http://www.smallnetbuilder.com/)
Mit diesen Testdaten habt ihr eine Möglichkeit die Performance mit der anderer NAS zu vergleichen. Dazu empfehle ich euch folgenden Link. Einfach dort Gerät auswählen und im unteren Fenster „Throughput vs. Filesize“ anklicken
Zusammenfassung
Hier die Ergebnisse in der Übersicht:
Das Testsystem:
Iozone lief auf einem Thinkpad T60, CoreDuo 1,83 GHz mit 3GB RAM und Betriebsystem Windows XP SP2 und NFS formatiert. Das NAS ist bestückt mit zwei 500GB Platten (SAMSUNG HD501LJ, Hitachi HDT725050VLA360). Verbunden waren die Geräte über ein Cross-over Kabel.
Hier der Link zu den Testprotokollen. Hier findet ihr alles in Zahlen und noch weitere Informationen zum CPU Verbrauch während der Loads sowie Werte zu Re-write und Re-read.
Quellen
http://www.smallnetbuilder.com/content/view/24310/77/
http://mycapsules.com/article.php?p=3&id=56
Fehlerwurm: Sofern ich mich doch irgendwo verrechnet haben sollte oder Infos nicht stimmen oder erweitert werden müssen, sagt mir bescheid ich werde es dann umgehend anpassen.
Alles © by daddel80, ich habe den Text hier lediglich hineinkopiert und grob aufgearbeitet. --Skara 17:44, 14. Dez. 2007 (CET)
