Optimieren von NFS auf minimale Latenz

13

Wie kann ich eine geringe Latenz für NFS-Exporte erreichen, damit Entwickler beispielsweise in Eclipse / Visual Studio einwandfrei arbeiten und ihre Arbeitsbereiche über NFS bereitgestellt werden?

Robert Munteanu
quelle

Antworten:

11

Das klingt so, als ob Sie sich noch in der Designphase befinden. Wenn das stimmt, sind ein paar Dinge zu beachten:

  • NFSv3 / 4 über NFSv2, um größere Pakete zu ermöglichen, und Funktionen wie "sicheres asynchrones Schreiben"
  • Überprüfen Sie Ihren NFS-Client auf Read-Ahead und verzögertes Schreiben. Beide Funktionen sind hilfreich
  • Halten Sie die Netzwerklatenz offenbar niedrig - GBit-Verbindungen über einen schnellen Switch
  • Stellen Sie sicher, dass Ihr NFS-Server auf Geschwindigkeit eingestellt ist. Dies ist sowohl die NFS-Implementierung als auch deren Konfiguration.

Es gibt eine gute NFS-FAQ, einschließlich einiger Optimierungstipps: http://nfs.sourceforge.net/

Thorsten
quelle
4
Es ist erwähnenswert, dass es unter modernem Linux wahrscheinlich besser ist, keine Optionen anzugeben, da es besser ist, die besten Werte zu verwenden als Sie.
David Pashley
6

Kompilieren Sie nicht über NFS. Die NFS-Leistung ist in der Regel ein Faktor für die E / A-Leistung der Festplatte, und das Kompilieren bestimmt die Anzahl der Datei-E / A-Vorgänge.

Wenn Sie das nicht vermeiden können, ist Caching das, was den Tag retten wird. Stellen Sie sicher, dass der NFS-Server so viel RAM wie möglich hat, verwenden Sie asynchrone Schreibvorgänge und aktivieren Sie das gesamte Caching, das Sie clientseitig ausführen können. Tatsache ist, dass ein RAID nicht besser für (nicht zwischengespeicherte) Festplattenoperationen geeignet ist als eine einzelne Festplatte. Und bei den geringen Dateigrößen einer Kompilierungs-Workload ändert der kombinierte Durchsatz nichts.

Alexandre Carmel-Veilleux
quelle
1

Warten Sie auf das Zwischenspeichern des Dateisystems oder kompilieren Sie nicht über NFS. Festplatten sind immer schneller als Netzwerk-Dateisysteme.

David Pashley
quelle
-1

Speichern Sie die Dateien auf einer sehr schnellen Festplatte oder einem für Geschwindigkeit ausgelegten RAID-Array, da die Festplatten-E / A die untere Grenze Ihrer Latenz bestimmt, ob der Client lokal oder remote ist. Die anderen Antworten sind auch in Ordnung.

Eine gute Lösung besteht darin, den Dateiserver auch zu einem Build- Server zu machen .

Allen
quelle