NFS-Performance im Vergleich
Zielfoto
Hält NFS 4, was die Entwickler versprechen? Was kosten die neuen Features an Performance? Das klären Benchmarks, die die Versionen und Konfigurationsvarianten gegeneinander ausspielen.
Abbildung 1: Die virtuelle Umgebung lässt die Vorteile von NFS 4 nicht richtig zur Geltung kommen, zeigt aber, dass die höhere Sicherheit durch zusätzliche Verschlüsselung ihren Preis hat, der mit der Münze Performance zu bezahlen ist. Läuft derselbe Benchmark – Iozone – in einem realen Netz, kann sich NFS 4 kleine Vorteile beim Schreiben erkämpfen. Noch größere Unterschiede offenbaren sich bei einem realen Workload.
Hält NFS 4, was die Entwickler versprechen? Was kosten die neuen Features an Performance? Das klären Benchmarks, die die Versionen und Konfigurationsvarianten gegeneinander ausspielen.
Lohnt der Umstieg auf NFS 4? Auf der Hand liegt der Sicherheitsvorteil der möglichen Kerberos-Authentifizierung und -Verschlüsselung, Was aber kostet das an Performance? Welchen Schub entfalten die Optimierungsbemühungen der Entwickler, die ja gerade in Netzen mit höherer Latenz einen merklichen Performancegewinn versprechen? Das Linux-Magazin hat nachgemessen.
Mit einzelnen Benchmarks und unter verschiedenen Netzwerkbedingungen testeten wir in unserem Labor unterschiedliche NFS-Setups. Mit Ubuntu als der ursprünglich gewählten Linux-Distribution ließ sich allerdings selbst mit erheblichem Zeiteinsatz keine Kombination von NFS mit Kerberos zum Laufen bewegen (siehe Kasten "Stolpersteine"). Deshalb wichen die Tester zeitweise in eine virtuelle Umgebung unter Fedora aus.
Die geringsten Unterschiede zwischen den NFS-Versionen und -Spielarten ergaben sich bei den Messungen mit Iozone [1] in der virtuellen Umgebung. Dort waren zum einen die verfügbaren Ressourcen limitiert - im vorliegenden Setup teilten sich der virtuelle NFS-Server und sein Client einen Single-CPU-Host -, zum anderen sind die Netzwerkzugriffe tatsächlich Speicheroperationen, die sich anders verhalten als ein reales LAN. Schließlich maßen die Tester drittens nur sequenzielle Lese- und Schreiboperationen, die der Fileserver nicht weiter optimieren konnte.
NFS 3 und 4 liegen hier gleichauf, die Differenzen bewegen sich im Bereich eines Prozents. Die sicherste NFS-Variante, die mit Kerberos nicht nur authentifiziert, sondern auch verschlüsselt, fällt erwartungsgemäß deutlich zurück (Abbildung 1, links). Der Security-Overhead verursacht ein Minus zwischen 15 (schreibend) und 30 Prozent (lesend).
Anders sieht sie Sache in einem realen Netzwerk aus. Für diesen Versuch lief der gleiche Benchmark auf einem Netzwerkvolume, das der Client von einem potenten Server mit Diskarray via Gigabit-Ethernet gemountet hatte (siehe Kasten "So haben wir getestet"). Unverschlüsseltes NFS 4 brachte es hier lesend und schreibend auf jeweils knapp 60 MByte/s und hatte zumindest beim Schreiben auch deutlich die Nase vor seinem Vorgänger (15 bis 20 Prozent plus).
Beide NFS-Varianten waren sogar eine Spur schneller als die lokale Platte des Clients, stand ihnen doch auf dem Server eine performante Raid-1-LUN zur Verfügung, auf der auch kein Betriebssystem dazwischenfunkte, und die Host-Anbindung mit Ultra-Wide-SCSI war außerdem deutlich schneller als Parallel-ATA beim Client. Diese Faktoren können den Netzwerk-Malus offenbar mehr als kompensieren (Abbildung 3).
Ein synthetischer Benchmark wie das hier verwendetet Iozone vermittelt dennoch nur eine annähernde Vorstellung von der Realität, denn die gemessenen reinrassigen Lese- und Schreiboperationen kommen in der Praxis so nicht vor. Alle Effekte, die sich aus der Mischung und Abfolge der Filesystem-Aktionen in der Praxis ergeben, fallen dabei unter den Tisch. Optimierungsbemühungen der Fileserver-Software müssen ins Leere greifen, wenn sich lediglich eine einzige Operation fortwährend wiederholt. Zwar ergibt sich der Vorteil, dass sich einzelne Einflüsse so leichter isolieren und getrennt bewerten lassen - den aber erkauft man mit dem Nachteil, dass die einfache Addition der separierten Einflüsse nicht die praxisgerechte Summe ergibt.
Gerade die Wechselwirkungen sollten bei einem Benchmark, der einen typischen Funktionsmix absolviert, besser zur Geltung kommen. Die Wahl fiel auf Dbench [2], eine kleine Benchmarksuite aus der Feder des bekannten Samba-Entwicklers Andrew Tridgell.
Vorbild für Dbench ist die kommerzielle Windows-Software Netbench, die sich in ihrer Welt als Quasi-Standard etabliert hatte, aber nur für wenige nutzbar war. Das liegt nicht nur an Lizenzbestimmungen, sondern auch an der Tatsache, dass man für einen Netbench-Lauf 60 bis 150 Windows-PC plus gut ausgebautem Server in einem schnellen Netz benötigt und zudem in der Lage sein muss, diese Umgebung zentral zu dirigieren.
Weil Open-Source-Entwicklern derart ausgestattete Labore nicht allzu oft offenstehen, entschloss sich Tridgell ein "Netbench for the Masses" zu schreiben. Entstanden ist ein Triumvirat: Dbench emuliert die Filesystem-Operationen, die ein realer Netbench-Lauf in einem Filesystem einmal ausgelöst hat. Sie wurden aufgezeichnet und lassen sich nun wieder einspielen, wobei die Anzahl der jeweils beteiligten User skalierbar ist. Dbench gibt den daraus resultierenden I/O-Durchsatz aus, der sicherlich als absoluter Wert weniger informativ ist, aber durchaus für Vergleiche zwischen Systemen oder verschiedenen Nutzerzahlen taugt.
Dbench führt selbst keine Netzwerkoperationen aus. (Die sind natürlich trotzdem im Spiel, wenn man den Benchmark - wie hier - auf ein Netzwerkvolume ansetzt.) Wer nur die Netzwerkseite untersuchen möchte, für den gibt es dafür das Dbench-Pendant Tbench, das ausschließlich den Netzwerkverkehr eines Windows-Fileservers nachstellt. Beides zusammen bietet das Tool SMB Torture, ein Stresstester für Samba-Server.
Umfang: 3 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...