Nextcloud speed auf 50mbit/s limitiert?
Hey,
Zuhause betreibe ich einen Raspberry Pi 5, der als Host für meine Nextcloud dient. Soweit läuft alles reibungslos. Allerdings ist mir aufgefallen, dass die Upload-Geschwindigkeit nie über 60 Mbit/s liegt. Dies überrascht mich, da meine Internetverbindung theoretisch bis zu 250 Mbit/s erreichen kann. Aktuell bin ich sogar über ein LAN-Kabel mit demselben Netzwerk verbunden, was bedeuten sollte, dass die Übertragungsgeschwindigkeit sogar 1 Gbit/s beträgt.
Kennt jemand dieses Problem?
Vielen dank.

3 Antworten
Schaue mal in deinen Tarif beim Internetanbieter, auch bei Glasfaser ist der Upload da oft niedriger, bei der Telekom z.B. 50 MBit, was dann hinkommen würde.
Wenn du die Daten im LAN überträgst und dann aber auch die lokale IP des Pi benutzt (so dass es nicht erst über den Router und die Internetverbindung läuft) sollte es dann aber schneller sein.
Ist dem nicht so, probiere mal, welche Schreibrate deine SSD/Platte am Pi schafft.
Schreibe mit dd ein großes File drauf... ist das einfachste, was mir gerade einfällt
dd if=/dev/zero of=/pfad/zum/mountpoint/neue_datei bs=8k count=1000
danach die Datei halt wieder löschen.
Danke, hab gerade ein tool gefunden, was mir dann auch den Speed ausgibt der Wert lautet:
/dev/sda1:
Timing cached reads: 9758 MB in 2.00 seconds = 4883.57 MB/sec
Timing buffered disk reads: 490 MB in 3.01 seconds = 162.77 MB/sec
Also meine HDD ist nicht das problem. :/
Das blöde an smartctl ist, das es nur Lesen testet, SSDs sind oft beim Schreiben viel langsamer als beim Lesen...
Habe hdparm benutzt, aber hast recht, habe ich garnicht bedacht, dass das der Read wert ist, eine sekunde ich suche noch ein tool :)
PS: Bei dem dd NICHT /dev/sda nehmen, sondern den mountpoint, sonst überschreibst du deine Platte....
das ist der output: 1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 9.41363 s, 111 MB/s
111 MB/s ist aber jetzt auch keine Beschränkung. Daran liegt es dann eher nicht. Wenn du das btop während einem Upload laufen hast, ist die Prozessorauslastung dann am Anschlag (evtl. wegen TLS) ?
Noch ne Frage, was nimmst du als Client zum Hochladen ? Im Browser macht der Chunked Uploads, lädt also immer 1MB (o.ä.) Blöcke per JS hoch und setzt die dann auf Serverseite zusammen. Je nach Browser und Geschwindigkeit des Clients kann da auch ein Flaschenhals liegen.
Das ist leider schwierig zu analysieren.
Nein, also ich benutze nicht den Browser, also auch aber gerade habe ich die Nextcloud app auch Arch verwendet.Habe den browser getestet, bekomme den ähnlichen Wert.
Der Client nimmt default 10 MB Chunks, das kann man per .cfg anpassen. https://docs.nextcloud.com/desktop/3.2/advancedusage.html?highlight=chunk Darf halt nicht größer sein als die PHP max_upload_size / max_post_size auf dem Server. Ggfs. mal schauen, ob die ausreichend groß ist.
Es kann sein, dass der Webserver auch noch irgendwo eine Option hat, wie groß ein Upload maximal sein darf... LimitRequestBody bei Apache
Kann meine nextcloud.cfg irgendwie nicht finden...
$HOME/.config/Nextcloud/nextcloud.cfg bei Linux auf dem Client
Aso dachte auf dem raspi xd. Ja hab sie gedunden, aber hat nichts geändert, musste die zeile hinzufügen, da sie nicht exestiert hat.
Schaue vorher in die php.ini auf dem Server, was da als Maximum steht, mehr kann der Client nicht pro Chunk hochladen...
upload_max_filesize und post_max_size sind die Optionen... stelle die halt mal auf 100M oder so...
Weißt du zufällig wo die ist, weiß nicht jeden Pfad auswendig.
Auf nen Pi nicht, versuche mal /etc/php/ und da drunter evtl. mod oder fpm je nachdem, wie das läuft...
Hab sie, nach was soll ich genau suchen weil chunk gibs viel
upload_max_filesize und post_max_size , siehe 3 Kommentare vorher...
Boah hasse ich nano.... ich kann ja mit ctrl nach etwas suchen aber da steht ich kann mit M-B zurück gehen aber wieeee omg xd
Kann ich nicht helfen, bin eingefleischter vi Nutzer :) M-B könnte Alt-B sein, "M" ist der Meta-Key. Ich muss jetzt leider langsam off, muss morgen auf Arbeit. Nach Änderungen der php.ini musst du den Webserver oder php-fpm Prozess neu startet, damit es wirksam wird...
Habs jetzt alles nochmal getestet, aber es ist bei 50mbit/s begrenzt.
Raspberry Pi 5
Und wie ist das genutzte Speichermedium angeschlossen?
SSD über den M.2-HAT, der dann via PCIe2.0 x1 angebunden ist und somit das Limit von PCIe2.0 x1 (bei 0.5GBit/s) eben nicht überschreiten kann?
Nein, eben leider nicht, hatte keine SSD, deswegene benutze ich eine HDD über USB, die jedoch schneller sein müsste.
Was für Dateien lädst du denn da hoch?
wenn du Bilder hochlädst, wird vermutlich die HDD limitieren. Die Schreib- und Leseraten brechen dort nämlich massiv ein bei vielen kleinen Dateien.
und schau mal während eines Upload, wieviel CPU auf dem pi benutzt wird und wofür. Wenn wait io im zweistelligen Prozentbereich ist, ist vermutlich die hdd der Flaschenhals.
Habe die HDD getestet die ist schnell genug, mein Raspi ist auch nur bei 10% ausgelastet und es sind eigentlich alles mögliche dateien wie zb: text dateien bilder etc.
Deine Tests haben alle nur sequentielles lesen und schreiben getestet. Das ist nicht vergleichbar mit dem Upload von recht kleinen Dateien.
Lade mal eine große Datei hoch mit mindestens 1 Gb und gucke, ob das schneller geht.
Also ich weiß, dass ich 250 up und 250 down habe, durch Speedtest und da ich meinen Vertrag kenne. Benutze nicht Telekom oder ähnliches. Wirst du nicht kennen, weil ich in italien wohne.
Weißt du jedoch zufällig, wie ich sehen kann wie schnell meine HDD arbeiten kann, denn über die Locale IP ist es auch nicht schneller.