Leistungseinbußen beim Kopieren großer Dateien von NFS auf die lokale Festplatte

Leistungseinbußen beim Kopieren großer Dateien von NFS auf die lokale Festplatte

Ich versuche, eine 200 GB große Datei von einem NFS-Mount auf eine lokale Festplatte zu kopieren. Die lokale Festplatte ist ein XFS-Dateisystem auf einem LVM auf einem RAID 5-System (Hardware-RAID-Controller).

Ich verwende es rsync, um die Übertragungsgeschwindigkeit zu überwachen. Zu Beginn liegt die IO-Geschwindigkeit bei etwa 200 MB/s, stabil für die ersten 18 GB. Aber dann sinkt die Leistung um den Faktor 10-20 und erholt sich nie wieder auf die Anfangsrate. Manchmal erreicht sie etwa 50-100 MB/s, aber nur für ein paar Sekunden, und dann scheint der Prozess für eine Weile hängen zu bleiben.

Gleichzeitig werden sämtliche File-Stat-Operationen auf dem Zieldateisystem für längere Zeit (Minuten) blockiert. Auch das Unterbrechen des Kopiervorgangs blockiert für mehrere Minuten. Ein anschließendes Löschen der teilweise kopierten Datei dauert ebenfalls mehrere Minuten.

Irgendwelche Ideen, was die Ursache sein könnte?

Antwort1

Dank Jets Kommentar habe ich mir das Caching von Disk-IO unter Linux angesehen. Es stellte sich heraus, dass das System viel RAM (48 GB) hat, das fast kostenlos ist, und daher viel davon für den I/O-Cache verwendet wird.

Ich habe /proc/meminfo überwacht und nach den Feldern „Dirty“ (schmutzige I/O-Cache-Seiten) und „Writeback“ (schmutzige Seiten auf die Festplatte geschrieben) gesucht.

watch -n1 -- "grep -E Dirty|Writeback /proc/meminfo"

Zeigt, dass Dirty auf etwa 18 GB ansteigt, dann wieder abnimmt, während Writeback zunimmt, sobald Dirty-Seiten geschrieben wurden, wächst es wieder usw. Die Überwachung der Disk-E/A mit iostateinem zeigt, dass die Disk während des Caching nicht schreibt, nur während „Writeback“ abnimmt, werden Daten auf die Disk geschrieben. Die Schreibgeschwindigkeit beträgt etwa 15 MB/s.

Die ersten 18 GB werden also schnell in den Cache geschrieben, aber dann, wenn der eigentliche Schreibvorgang stattfindet, wird es langsamer, und während des Schreibens ist der Festplatten-E/A gesättigt und blockiert, bis alle schmutzigen Seiten an die Festplatte gesendet wurden.

verwandte Informationen