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 wsize
und rsize
Parameter 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 async
Option 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.
quelle
Antworten:
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.
quelle
Vergleichen Sie eine 1-Bay-NAS-Appliance von Synology mit CIFS. Sie veröffentlichen keine NFS-Zahlen:
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.
quelle