Langsame Dateiübertragungen zwischen Heimserver und PC über Ethernet

578
James Stone

Ich habe einen HP Proliant DL385 G5p Server, den ich zum Hosten eines persönlichen Debian 9-Dateiservers über eine VM auf einem Hypervisor verwende. Diese VM verfügt über eine eigene 1-Gbit / s-Ethernet-Verbindung zu einem Switch mit derselben Geschwindigkeit, an den auch mein normaler PC angeschlossen ist. Alle drei Geräte können mit 1 GBit / s arbeiten.

Ich habe zuvor eine Debian-Installation direkt auf der Festplatte auf dem Server mit dem Rest des Netzwerks gleich verwendet und konnte Übertragungsgeschwindigkeiten erreichen, die nahe genug an den angegebenen 1 GBit / s liegen, jedoch, seit ich den Fileserver auf einer VM ausgeführt habe, übertragen Die Geschwindigkeiten liegen irgendwo im Bereich von 5 MB / s (40 MB / s) an einem guten Tag.

Die Software, die ich zum Übertragen meiner Dateien von meinem PC (mit Windows 10) verwende, heißt "SFTP Net Drive". Dadurch kann ich den Inhalt des Dateiservers im Explorer anzeigen (ich wollte keinen anderen verwenden) Software-Tool zum Herstellen einer Verbindung mit dem Server, nur weil Windows SFTP nicht unterstützt). Als ich den Server ohne Hypervisor direkt auf der Festplatte ausgeführt habe, habe ich ein Programm namens "WinSCP" verwendet, das mehrere (bis zu 9) gleichzeitige Übertragungen über dasselbe Netzwerk ermöglicht. Dies würde die 1000Mb / s-Verbindung sättigen und ich würde keine schlechten Geschwindigkeiten sehen, außer wenn Sie wirklich kleine Dateien übertragen (weniger als 1 KB).

Ich habe IPerf verwendet, um die Verbindung zum Server von meinem PC aus zu testen (und umgekehrt, um sicherzugehen), und die Verbindung ist nahe genug, was sie sein sollte, ~ 1000 MBit / s. Ich habe auch Festplattengeschwindigkeiten auf dem Server getestet, aber es scheint auch gut zu laufen (ich denke um 6000 MB / s, aber ich kann mich nicht mehr recht erinnern. Ich kann mich nicht daran erinnern, mit welchem ​​Tool ich beide getestet habe). RAID 5 enthält 4 physische Festplatten mit 72 GB, die der Hypervisor als ein logisches Laufwerk interpretiert. Der Hypervisor weist der VM dann eine weitere logische Partition dieses Laufwerks zu, die vermutlich - von Debian in meinem Fall - mit LVM wieder aufgeteilt werden kann. (Denken Sie nicht, dass Sie all diese Informationen benötigen, aber es könnte nützlich sein).

Aufgrund der Tatsache, dass der Server zuvor einwandfrei funktioniert hat, kann ich davon ausgehen, dass dies ein Softwareproblem oder eine falsche Konfiguration ist, möglicherweise auf Windows-Seite. Eine mögliche Erklärung für die Langsamkeit könnte die Tatsache sein, dass Windows mit SFTP Drive jeweils nur eine Sache übertragen kann? Jede Hilfe, um dies herauszufinden und zu korrigieren, wird sehr geschätzt.

Edit: Okay, ich habe eine andere seltsame Sache gefunden, die passiert, wenn ich Dateien mit der von mir verwendeten Software WinSCP auf den Server übertrage. Beim Übertragen einiger Musikdateien auf den Server (jeweils ~ 50 MB, etwa 300), nachdem alle 9 gleichzeitigen Verbindungen hergestellt worden waren, erreichte die Übertragungsrate ihren Höchststand bei 110 MB / s und blieb etwa 20 Sekunden lang stehen. Es fiel dann sofort wieder auf 20-30 MB / s und blieb dort, bis die Übertragung abgeschlossen war. Dies lässt mich glauben, dass es eine Art Puffer gibt, der, sobald er gesättigt ist, die Übertragungsrate verlangsamt, um mit den Anforderungen zum Schreiben auf die Festplatte Schritt zu halten? Nicht wirklich sicher, ob das Sinn macht, aber es erscheint mir logisch.

Edit 2: Die Übertragungsgeschwindigkeit ist beim Verschieben von Dateien vom Server auf meinen PC genauso schlecht, etwa 3 bis 8 MB / s laut Windows.

1
Google "bufferbloat". Es ist schwierig, diese Puffer zu finden, sie könnten sich zum Beispiel irgendwo in Ihrem Router befinden. dirkt vor 5 Jahren 0

1 Antwort auf die Frage

0
Abdurrahim

Haben Sie die Festplattengeschwindigkeit Ihrer VM verglichen? Sieht für mich so aus, besonders wenn Sie QCOW2 verwenden, können Sie schlechte Geschwindigkeiten erzielen: https://serverfault.com/questions/407842/incredibly-slow-kvm-disk-performance-qcow2-disk-files-virtio oder https: / /serverfault.com/questions/675704/extremely-slow-qemu-storage-performance-with-qcow2-images einfach google "slow qcow2" und sehen,

Entschuldigung für die langsame Antwort, in letzter Zeit ziemlich beschäftigt gewesen. Jedenfalls habe ich die Lese- und Schreibgeschwindigkeiten der VM getestet und einige anständige Ergebnisse erzielt. Ich testete die Lesegeschwindigkeit mit `hdparm -Tt / dev / xvda5 'und erhielt 2000 + MB / s zwischengespeicherte Lesevorgänge und etwa 100 MB / s gepufferte Festplattenlesevorgänge. Getestete Schreibgeschwindigkeiten mit `dd 'mit ein paar unterschiedlichen Datengrößen und bei Verwendung kleiner Dateien> 10 KB über 100 MB / s, bei Verwendung von 1 MB jedoch ziemlich mieses Ergebnis. unter 50 MB / s. James Stone vor 5 Jahren 0
Sieht aus, als hätten wir ein Problem mit Ihrer virtuellen Maschine gefunden. Aber es erklärt nicht alles andere. Die nächsten zu überprüfenden Schritte sind zwei Dinge. Versuchen Sie, eine Ramdisk unter Ihrer virtuellen Maschine zu erstellen, die als Freigabe verwendet werden soll, und überprüfen Sie die CPU-Nutzung, wenn Sie mit Ihrer Ramdisk die Netzwerkgrenzen erreichen. Ich fürchte, Sie haben auch eine schlechte Virtualisierung für das Routing von Netzwerkgeräten Abdurrahim vor 5 Jahren 0
Ich verwende auf meinem PC ein Programm namens XCP-ng Center, in dem Leistungsdaten angezeigt werden. Ich werde Screenshots davon in eine Bearbeitung aufnehmen. James Stone vor 5 Jahren 0
Wieder entschuldige mich für die langsame Antwort. Bislang war ich dazu noch nicht in der Lage, jedoch kam mir ein Gedanke in den Sinn: Ich verwende derzeit RAID 5 auf dem Server und laut [this site] (www.raid-calculator.com/default). aspx) mit 4 0,072 TB-Festplatten in RAID 1 + 0 Ich könnte _potential_ höhere Festplattenleistung haben. Wäre das einen Test wert? Ich müsste wahrscheinlich den Server abwischen und neu beginnen. James Stone vor 5 Jahren 0
Auf keinen Fall wird es die Geschwindigkeit verbessern, es wird Ihr aktuelles Problem nicht lösen. Es geht nicht um die Host-Leistung, sondern um die Virtualisierung. Wahrscheinlich würde ich etwas falsch finden, wenn ich dieses XCP-ng (eine Art vorkonfigurierten Xen-Hypervisor) überprüfe. Wenn Sie Zeit haben, probieren Sie etwas anderes wie die direkte Verwendung von libvirt oder versuchen Sie es mit der Virtualbox- oder VMware-Testversion. Sie würden gute Geschwindigkeiten erhalten, wenn Sie richtig konfigurieren. Überprüfen Sie auch, was dieses XCP-ng bietet: Wenn Sie verschiedene Netzwerkvirtualisierungen testen können, können Sie Rohdatenträger (vorbelegt) usw. anzeigen Abdurrahim vor 5 Jahren 0