Was sind typische NFS-Lese- / Schreibraten?


9

Ich habe gerade einen Server installiert, der HTTP-Video-Streaming-Dateien über NFS an einen Webserver sendet, und ich möchte sicherstellen, dass die Übertragungsgeschwindigkeit optimiert ist. Aber ich weiß nicht, welche Art von Lese- / Schreibraten typisch sind, daher weiß ich nicht, ob ich bereits nahezu das Maximum erreicht habe. Ich verstehe das wsizeund rsizeParameter sind wichtig, aber ich weiß nicht, worauf sie standardmäßig abzielen und ob es sich lohnt, sie zu ändern.

Gemäß dem Sourceforge-Artikel zu NFS habe ich die Schreibgeschwindigkeit getestet mit:

time dd if=/dev/zero of=/mnt/data/video/testfile bs=16k count=16384

Und ich eine bekommen Schreibgeschwindigkeit von 48 MB / s .
Ich habe dies einige Male getestet (Aushängen / Mounten, um den Cache zu leeren) und diese Geschwindigkeit war ziemlich konstant.

Ich habe die Lesegeschwindigkeit getestet:

time dd if=/mnt/data/video/testfile of=/dev/null bs=16k

Und eine Leserate von 117MB / s

Der Ethernet-Switch und alle Kabel sind für 1 Gbit / s geeignet, und die Netzwerkkarten beider Computer verwenden Jumbo-Frames (MTU = 9000). In / etc / exportfs habe ich die asyncOption festgelegt - Geschwindigkeit ist mir wichtiger als perfekte Daten Integrität. Beide Maschinen sind Standard-HP Proliant mit 7,2-KByte-SATA-Laufwerken (3G auf einem, 6G auf dem anderen). Beide Computer verwenden Linux 2.6.18. Auf dem Computer, auf dem die Dateien gesendet werden, wird CentOS 5.5 ausgeführt, und auf dem Computer, auf dem sie empfangen werden, wird RHEL 5.4 (Tikanga) ausgeführt.

Ich hoffe, dass jemand, der eine Reihe verschiedener Systeme getestet hat, sagen kann, ob die obigen Zahlen typisch für die NFS-Datenübertragung sind oder ob genügend Raum vorhanden ist, um sie zu erhöhen.


3
Was ist die Lese- / Schreibgeschwindigkeit auf dem direkt auf dem NFS-Server und wie ist diese im Vergleich zu Ihrer Geschwindigkeit über NFS? BTW Linux 2.6.18 ist ziemlich alt, sind Sie sicher, dass es nicht Zeit für ein Upgrade ist?
Zoredache

1
@Zoredache: 2.6.18 ist der Basiskernel in RHEL / CentOS / etc 5.x. 6.x verwendet einen neuen Kernel (2.6.32 Base). Der RHEL 5.x 2.6.18 unterscheidet sich jedoch stark von einem kernel.org 2.6.18-Kernel.
Daniel Lawson

Überprüfen Sie auch rsync und (s) cp zwischen den Servern, um eine Vorstellung von der Bandbreite zu erhalten.
Grs

"Typische Rate"? Was für ein seltsames Konzept
Steve-o

Antworten:


5

Adam, meiner Meinung nach bist du im richtigen Stadion.

Blockgröße ist enorm wichtig, wie der Sourceforge-Artikel impliziert.

Es ist unwahrscheinlich, dass Sie die Geschwindigkeit Ihres Netzwerkkabels zwischen 110 und 120 MB / s erreichen können (1 GB, das sind Bits, keine Bytes).

Für das Publikum ist hier der Artikel, der großartig ist: http://nfs.sourceforge.net/nfs-howto/ar01s05.html

Das Übertragen des Blocks und das Abrufen der Antwort ist natürlich mit einem gewissen Aufwand verbunden. Wir haben auf 10 Gb Ethernet getestet, es war nicht schneller. Theoretisch könnten wir jedoch mehr NFS parallel zu diesem dickeren Rohr betreiben.


3

Vergleichen Sie eine 1-Bay-NAS-Appliance von Synology mit CIFS. Sie veröffentlichen keine NFS-Zahlen:

Geben Sie hier die Bildbeschreibung ein

http://www.synology.com/products/performance.php?lang=enu

Das heißt, Ihr Dateiserver ist etwas schneller als ein 2010er NAS mit 1 Festplatte, aber schlechter als ein 2011er Modell.

Das Maximum für 1-Gbit-Ethernet sollte im Bereich von 110 bis 120 MB / s liegen. Stellen Sie sicher, dass Sie den TCP-Transport für NFSv3 und nicht für UDP und nicht für NFSv2 verwenden. NFSv4 wäre vorzuziehen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.