Nextcloud lokaler Up- & Download zu langsam | Debian 10

BreeZrX

Lt. Junior Grade
Registriert
Jan. 2015
Beiträge
400
Nabend zusammen,

ich möchte mir gerne einen Nextcloud Server für die Synchronisation meiner Daten auf mehrere Geräte erstellen.
Dies alles soll nur lokal funktionieren, kein Zugang von außen außer später über VPN.

Ich habe mir das Ganze in einer Hyper-V VM aufgebaut (4 vCPU, 8GB RAM, 128 GB SSD)
Nach folgender Anleitung habe ich ein Debian 10 aufgesetzt.
Darauf habe ich dann über folgende Anleitung von C. Rieger Nextcloud installiert, wobei diese auf den Schritten von folgender Anleitung basiert. Zum Schluss musste ich noch die trusted_domains anpassen und der Zugriff auf die Nextcloud funktioniert.
Soweit so schön, nun zu meinem Problem.

Wenn ich nun auf einem anderen Rechner den Nextcloud Client installiere und eine Datei (hab hier als Muster immer das ISO Image von Raspbian Buster mit knapp 3 GB genutzt) hochlade, liege ich bei einer Geschwindigkeit von etwa 12 MB/s. Dasselbe gilt für einen Download derselben Datei über den Browser.
Nach etwas Recherche habe ich einen Beitrag gefunden, wo das Deaktivieren von http/2 in nginx das Problem gelöst hat. Bei mir bringt das allerdings nur eine Steigerung auf etwa 20 MB/s. Ich hätte hier aber eine Übertragung am GBit Limit erwartet, also die knapp 100 MB/s, dementsprechend bin ich aktuell recht enttäuscht von der Leistung.

Hat eventuell jemand eine Idee, woran es liegen kann?
Ich habe das Ganze jetzt mehrfach neu installiert und probiert, aber einfach keine Ahnung was das Problem ist.
 
  • Gefällt mir
Reaktionen: michi_z1981
Ich hänge mich da einfach Mal dran.
In meiner Nextcloud auf meinem Synology NAS 214play dauert das synchronisieren mehrerer 1000 Dateien auch Mal gut zwei bis drei Stunden. Ob mit WLAN am MB oder über LAN 1000Gbit/s spielt keine Rolle.
Hab auf meiner ToDo noch stehen, Nextcloud Mal in VMWare mit mehr RAM auszuprobieren, vielleicht liegt es ja daran. Aber anscheinend nicht.


Vielleicht kann ich ja auch was lernen.
Gruß
 
Wie hoch ist denn die CPU Auslastung, während du hochlädst (sowohl Server als auch Client)?
Wenn du per Network Share direkt auf deine VM connectest, welche Datenrate hast du da? (oder halt nen Download von irgendwoher wo du 1GBit/s bekommst innerhalb der VM startest).
Sagt dir Nextcloud in der Settings -> Info Ansicht irgendwelche Warnings?
 
Testen der Netzwerkperformance mit iperf oder netcat.
Dann hast du eine Kennzahl für die "rohen" Daten.
Neben der CPU Auslastung könnte auch die IO Auslastung via iotop überprüft werden.

Ich kenne Hyper-V nicht, aber vielleicht ist die virtuelle Hardware nicht optimal konfiguriert ?
Bei Qemu gibt es zB Unterschiede bei der Geschwindigkeit der virtuellen Netzwerkkarte des Gastes
Vielleicht auch prüfen ob die 4 vCPU wirklich benötigt werden um die Gbit zu erreichen.
Eventuell helfen Jumbo Frames den Durchsatz zu steigern - falls die vielen kleinen Pakete im Netzwerk zuviel CPU oder Interrupts in der VM erzeugen.
Vielleicht die Einstellungen für sleep states/CPU Performance der vCPUs/Scheduler in der VM prüfen
 
Welche Windows version?

Nachgucken, ob evtl eine Legacy Nic konfiguriert wurde in Hyperv.
 
Moin, erstmal danke für die Rückmeldungen.
Ich werde mich später mal an den ganzen Sachen versuchen, bin in Linux noch ein ziemlicher Frischling und muss mir erstmal die ganzen Befehle zusammen suchen, um eure Fragen zu beantworten.

Eventuell noch zur Info. Als Rechner habe ich sowohl einen PC (i7-3770K, Gigabyte Z77-D3H-X, 16 GB RAM, 1 TB MX500 SSD) als auch ein "NAS" (Intel Celeron G1840, AsRock B85M-HDS, 8 GB RAM, 128 GB Samsung 830 SSD) am laufen und auf beiden Maschinen habe ich dasselbe verhalten. Auf dem Celeron habe ich allerdings nur 2 vCPUs und 4 GB RAM zur Verfügung gestellt.

Was ich schon beantworten kann kommt jetzt:
@ RalphS: Es handelt sich jeweils um Windows 10 Pro mit allen Updates. Die Konfiguration der VM lief wie folgt: Ich habe einen virtuellen Switch in Hyper-V eingestellt:
Externes Netzwerk und dort den NIC (Realtek PCIe GBE Family Controller) und Gemeinsames Verwenden dieses Netzwerkadapters für das Verwaltungsbetriebssystem zulassen aktiviert. Ist so auch die Standardeinstellung. Den Rest habe ich nicht angerührt.

@ChrisDeath:
Auslastung Rechner:

pc download auslastung http2.PNG

Download

pc upload auslastung http2.PNG

Upload

Auslastung NAS

nas download auslastung http2.PNG

Download

nas upload auslastung http2.PNG

nas upload auslastung1 http2.PNG

Upload

Hiernach würde ich mal behaupten, dass das NAS einfach am Limit ist. Aber der Rechner (soll hier für mich nur ein stärkeres Setup für das NAS simulieren, da ich überlege aufzurüsten) hat meiner Meinung nach noch Luft.

Mir ist aber auch aufgefallen, dass das Deaktivieren von http/2 bei mir gar nichts bringt. Sofern ich es richtig deaktiviere? Ich gehe hierbei in die vollständige Anleitung, suche dort nach http2 und entferne diese beiden Punkte aus der config und starte dann alle Dienste neu.

Leider komme ich auch nicht via WebDAV auf die Nextcloud. Wenn ich den entsprechenden Link als Netzwerklaufwerk in Windows einbinden möchte kommt die Meldung, dass der Ordner ungültig ist.

Network Share muss ich heute Abend dann mal ausprobieren, vorher schaff ichs nicht.
In den Settings habe ich unter Protokollierung 3 Errors:
Error.PNG


@lokon: Die Netzwerkperformance teste ich dann ebenfalls heute Abend, Habe noch nicht mit iperf gearbeitet.
Zur Konfiguration der VM:
Sicherheit: Sicheren Start aktivieren und Vorlage: Microsoft UEFI-Zertifizierungsstelle
Arbeitsspeicher: dynamisch, Rechner normal 4096, erlaubt von 512 - 8192MB und NAS 2048, erlaubt von 512 - 4096 MB.
Prozessor: 4 vCPUs bzw 2 vCPUs
SCSI-Controller: Festplatte mit Virtueller Festplatte
Netzwerk: Virtueller Switch Extern1 (wie vorher beschrieben), Hardwarebeschleunigung beides mal ein Häkchen (Warteschlage für virtuelle Computer und IPsec-Taskabladung mit 512 Sicherheitszuordnungen), bei Erweitert noch eine feste MAC-Adresse
"
Eventuell helfen Jumbo Frames den Durchsatz zu steigern - falls die vielen kleinen Pakete im Netzwerk zuviel CPU oder Interrupts in der VM erzeugen.
Vielleicht die Einstellungen für sleep states/CPU Performance der vCPUs/Scheduler in der VM prüfen
"
Damit kann ich aktuell leider noch nichts anfangen.

Eventuell helfen meine Angaben schon weiter, weiteres später dann noch.
 
Also per Network Share komme ich auf durchschnittlich 55 MB/s im Upload und etwa 70 MB/s im Download, beides über WLAN von meinem Laptop ins LAN.

download network share.PNG

Download

upload network share.PNG

Upload
 
Ich habe es nochmal über LAN zu LAN getestet und schöpfe dort die 112 MB/s vollständig aus. Somit muss das Problem ja irgendwo in Nextcloud liegen?
 
Du Installierst Software der du private Daten anvertraust über Installscripts von Dritten? Huiuiui, ich würde ja empfehlen einfach die Installationsanleitung von Nextcloud zu nutzen (und zu verstehen) anstatt Dritten zu erlauben meine Serverconfig zu schreiben..

Die erste Option wäre mal in den Einstellungen von Nextcloud zu suchen was der Selbsttest von Nextcloud so ausspuckt. Also an der Weboberfläche als Admin anmelden und in den Einstellungen suchen (Settings -> Basic Settings oder so).

Uploads über die Weboberfläche sind zwangsweise lahm. Das Javascriptgeraffel welches da im Browser los läuft ist übel. Typischerweise hängt der Thread für den Browsertab am Limit des einen CPU-Cores auf dem er läuft. Schneller ist der native Client oder direkt ein ein Binding via webdav auf die Nextcloud instanz (Also unter Windows Netzlaufwerk mit WebDav einrichten[1])

HTTP2 ist tendenziell immer schneller als http1.1 . Wer Performanceprobleme mit http2 hat, hat typischerweise schlimmere Probleme mit dem Webserver als "nur" die Performance. Typisch wären fatal veraltete Softwareversionen und/oder eine ganz miese config. Die Frage wäre ansonsten, ob du überhaupt über http2 verbindest, das ginge nur wenn du irgendwie crypto auf dem Server configuriert hast du dein Client den eingerichteten Zertifikaten vertraut.. http2 ohne crypto gibt es nicht und wenn du es bisher nicht eingerichtet hattest, gibt es kein Grund wieso das Deaktivieren von http2 irgend eine Änderung bewirkt hat.

Ansonsten: Zu viel Fließtext mit zu wenig Dokumentation! Es wäre schon irgendwie hilfreich zu wissen wie die VM genau eingerichtet ist. Vor allem die Config von Netzwerk und Festspeicher.

[1] Keine Ahnung wie man das fix auf Windows macht..
 
Nabend,

Der Einwand mit der Installation von Nextcloud über fremde Skripte für private Daten ist vollkommen richtig. Letztlich sollte das Ganze hier erstmal ein Test sein, ob Nextcloud eine passende Alternative zu einer Synology DiskStation ist. Ich wollte eigentlich erst in einem zweiten Schritt mich dann intensiv mit Nextcloud beschäftigen und es selbst einrichten. Da aber auch der Test hier schon einiges an Zeit gekostet hat nur wegen den Geringen Up- und Downloadgeschwindigkeiten hätte ich eventuell auch direkt mit der Einarbeitung in die eigene Konfiguration von Nextcloud beginnen sollen.
Eventuell mache ich das an diesem Punkt auch noch.

Zu deinen Einwänden bezüglich der Geschwindigkeiten, gezeigt sind die von der Weboberfläche, erstmalig ist es mir aber durch den langsamen Upload mit dem Client für Windows aufgefallen. Somit liegts nicht am Browser oder der Weboberfläche.

Die Einstellung der VM bezüglich HDD und Speicher reiche ich morgen nochmal als Bilder nach. Hätte aber getippt, dass dort alles passt, da ich ja über Network Share volle Geschwindigkeit habe.
 
Betreibe ebenfalls NC in HyperV. Hab mal bei mir gerade was versucht per Browser downzuloaden:
hgf.PNG

Die Datei ist aber per External storages (über einen SMB-Share auf dem Host) in NC freigegeben. Vermutlich dafür ok die Werte. Beim ersten Test davor war noch ein VPN im Browser aktiv, doofer Fehler. 😁
Kannst du ein VPN bzw. die Nutzung deiner eigenen Internetleitung anhand deiner Werte ausschließen?

http/2 müsste aktiv sein bei mir. Ich hab die Installation mittels Scripten der offiziellen NC VM auf Ubuntu Server realisiert.

OT: Ich benutze zur Synchro Syncthing lokal, NC nur fürs Adressbuch.
 
Zuletzt bearbeitet:
Die 70MB/s sind realistisch. Selbst bei "einfachen" Downloads hängen bei Nextcloud PHP-routinen drinnen, die dafür sorgen, dass das Ganze CPU limitiert ist. Abweichungen sind je nach Geschwindigkeit der CPU und Optionen wie Fileencryption ist etwas Schwankung zu erwarten.

Vergleich bei meinem V-Server im Rechenzentrum. Download mittels curl vom V-Server auf den V-Server (direkt nach /dev/null). NC schafft ~50MB/s egal ob http1.1 oder http2 und die selbe Datei direkt vom apache2 webserver liefern ~400MB/s.
 
  • Gefällt mir
Reaktionen: Bob.Dig
@Piktogramm
Die 70 MB/s beziehen sich aber auf eine Netzwerkfreigabe zu einem Ordner der unabhängig von Nextcloud ist. Hätte ich bei Nextcloud die 70 MB/s (welche nur über WLAN waren, über LAN 112 MB/s) wäre ich natürlich zufrieden.

@Bob.Dig
Ich schau mir mal dir offizielle NC VM sowie Syncthing an. Prinzipiell gefällt mir aber Nextcloud mit seiner App und Oberfläche auch für mobile Geräte schon sehr gut.
Ich möchte eigentlich eine Sync zwischen meinem Laptop, PC und "NAS / Homeserver" bezüglich aller Daten haben und dann über z.B. mein Tablet Abends davon mal gemütlich wissenschaftliche Paper für die Arbeit lesen / markieren können. Und das sah auf den ersten Blick bei Nextcloud schon sehr gut aus, nur die Geschwindigkeit passt halt nicht.
VPN kann ich sicher ausschließen, da ich diesen noch nicht eingerichtet habe und somit keinen Zugriff von außen habe.

Kannst du mir eventuell mal ein paar Details zur Einstellung deiner VM sowie dem SMB Share vom Host geben? Ich teste es aktuell auf der virtuellen Festplatte auf der kleinen OS-Festplatte. Meine Daten wollte ich dann über eine zweite Festplatte im Computer einbinden und da könnte dein Ansatz ja eventuell gut passen.
 
Als ich geantwortet hab standen bei Bob noch die x kb/s mit dem VPN :) deswegen dachte ich das bezieht sich auf mich:daumen:
 
@BreeZrX Bitte, kein Plan ob das hilft. 😁
Die VM ist streng nach den Vorgaben konfiguriert. Wer zu viel Geld hat, kann beim Macher auch fertige Images für Hyper-V "kaufen", wobei der auch schnell reagiert bei Problemen.
cc.PNG
dd.jpg
Für SMB muss Du auf der aktuellen 17.0.2 sein!
 
Ok also die Netzwerk Konfiguration habe ich exakt wie du für die VM. Muss dann also im Prinzip an Nextcloud oder einem anderen Baustein aus dem Skript liegen.
Ich habe die VMs mit dem Skript aber nach dem Denkanstoß von Piktogramm gelöscht, da es ja echt im Prinzip von nem fremden Konfiguriert ist und ich nicht alles verstanden habe.
Dasselbe Problem hatte ich aber auch mit ner VM in der ich Nextcloudpi installiert hatte, ich setz jetzt aber alles nochmal frisch auf und schau dann mal was ich so ausprobieren kann. Die SMB-Freigabe find ich aber schon mal gut 👍
Und ich teste die offizielle VM
 
Wenn du frisch anfängst: Wenn die VM steht einfach mal testen, was die an Durchsatz schafft. Sowohl beim Netzwerk auch Festspeicher.
 
Ich habe jetzt zum Spaß mal die offizielle VM in Betrieb genommen, hier dann mit Virtual Box.
Bei einem ersten Test über die Weboberfläche komme ich wieder auf dieselben Geschwindigkeiten wie bei meiner vorheringen Nextcloud. Download etwa 22 MB/s, Upload etwas langsamer.
Das find ich jetzt allerdings doch sehr merkwürdig.
 
Zurück
Oben