Jump to content

[SOLVED] Nextcloud performance/ Hardware ausreichend?


Ale:x
Go to solution Solved by mgutt,

Recommended Posts

On 4/30/2021 at 11:13 AM, mgutt said:

Ich kenne niemanden, der mit MariaDB ein lahmes Setup hat. Meiner Ansicht nach liegt es nur an den Pfaden. Man muss mit "/mnt/cache/appdata..." arbeiten statt "/mnt/user/appdata...". Denk dran, dass die Umstellung nur sicher ist, wenn bereits alle Daten auf dem Cache liegen und der appdata Share auf "Prefer" oder "Only" eingestellt ist.

 

 

okay ich habe jetzt den appdate ordner mit unbalance auf den SSD Cache geschoben. Aber in der Nextcloud Docker Config finde ich nicht, wo ich das umstellen muss. Ich vermute, dass ich hier den gesamten appdata share umziehen muss? Gib mal n Tipp bitte.

 

Edit1:

Ich hab jetzt was gefunden: wenn ich hier den Docker-Dienst anhalte (1. prüfen, 2. auf no stellen, apply und dann wird 3. editierbar), kann ich aber dennoch nicht /mnt/cache/appdata nehmen. Das wird rot markiert, Dockerdienst startet nicht.

 image.thumb.png.5a9b5a97b60ed47e3f4586d85281011e.png

 

Edit2:
Ich hab den letzten / vergessen.... *doh*

 

Edit3:

Für die Nachwelt, so muss es aussehen. Dann läuft es in der Tat deutlich besser. Zwar immer noch langsamer, als auf nem Rasperry Pi 3, aber was solls. Vorher habe ich teilweise 10 Sekunden Ladezeit für den Kalender gehabt. Jetzt sind es so 2-4 Sekunden.

image.thumb.png.37f297d4346cfca074de4ccd429564cc.png

Edited by Knutowskie
Link to comment

Das sind nur die Pfade von Docker. Da bekommt man die beste Performance, wenn man Folder statt vDisk wählt.

 

Was noch fehlt sind die ganzen Pfade der Container selbst. Also Container bearbeiten und da die Pfade anpassen. Wie gesagt nur, wenn man sicher ist, dass alles auf dem Cache liegt. Den Mover starten reicht da nicht. Über Shares > appdata > Ordnersymbol > Location prüfen ob da nur "cache" steht.

Link to comment
8 minutes ago, mgutt said:

Das sind nur die Pfade von Docker. Da bekommt man die beste Performance, wenn man Folder statt vDisk wählt.

 

Was noch fehlt sind die ganzen Pfade der Container selbst. Also Container bearbeiten und da die Pfade anpassen. Wie gesagt nur, wenn man sicher ist, dass alles auf dem Cache liegt. Den Mover starten reicht da nicht. Über Shares > appdata > Ordnersymbol > Location prüfen ob da nur "cache" steht.

Der appdata ordner ist mittels unbalance plugin komplett auf den Cache geschoben:

image.thumb.png.935a456fead82607c8449206be4008b6.png

 

Wie ändere ich das mit "Folder statt vdisk"? Das UI gibt mir keine entsprechende Möglichkeit.

 

8 minutes ago, jj1987 said:

Ich glaube es hätte gereicht, im eigentlichen Nexcloud-Docker den Pfad entsprechend zu ändern.

Das habe ich erst auch gedacht, aber nun sind alle Docker Container schneller, so dachte ich.

Link to comment
3 minutes ago, Knutowskie said:

Das habe ich erst auch gedacht, aber nun sind alle Docker Container schneller, so dachte ich.

Jein, weil der "interne" Zugriff dann immer noch über den "\user"-Mount erfolgt und somit nennen wir es Mal "Protokoll-Overhead" entsteht.

Wenn du in den Dockern jedoch "mnt/cache/appdata/..." nimmst, wird ohne umwege direkt auf die SSD zugegriffen.

Ist eine Unraid "Besonderheit"

Link to comment
Just now, Knutowskie said:

Alles klar, ich stells ma um. Bei dem MariaDB container will ich das aber aktuell nicht machen. Die DB will ich gern so wenig wie möglich befummeln.

Ich hatte Nextcloud nur mal "zum Spaß" installiert, bin daher nicht so sattelfest. Aber ich würde vermuten, dass gerade die DB der Flaschenhals ist?

Link to comment
Just now, jj1987 said:

Ich hatte Nextcloud nur mal "zum Spaß" installiert, bin daher nicht so sattelfest. Aber ich würde vermuten, dass gerade die DB der Flaschenhals ist?

nee das lüppt jetzt wie sau. Die Response vom Webserver wars, der irgendwie lange gedauert hat.

Link to comment
2 minutes ago, i-B4se said:

Es kann aber sein, das wenn die HDD am schlafen ist der Aufruf der Seite länger dauert, da die Festplatte mit der Datenbank erst starten muss.

es gibt keine Festplatte mehr mit Datenbank. Der Appdata Order ist KOMPLETT auf SSD, siehe oben.

Link to comment
14 minutes ago, Knutowskie said:

Alles klar, ich stells ma um. Bei dem MariaDB container will ich das aber aktuell nicht machen. Die DB will ich gern so wenig wie möglich befummeln.

Achso, hatte das so verstanden das die Datenbank auf der HDD verblieben ist.

Dann vergiss mein Satz ;)

Link to comment
31 minutes ago, Knutowskie said:

Bei dem MariaDB container will ich das aber aktuell nicht machen. Die DB will ich gern so wenig wie möglich befummeln.

Musst du aber wenn du eine bessere Performance haben willst. Am besten Nextcloud stoppen. MariaDB stoppen. MariaDB ändern und starten. Nextcloud ändern und starten. Mach bei Bedarf nach dem Stop aller Container ein Backup vom appdata Ordner, aber das sollte fehlerfrei gehen.

Link to comment
48 minutes ago, Knutowskie said:

Wie ändere ich das mit "Folder statt vdisk"? Das UI gibt mir keine entsprechende Möglichkeit.

Docker Dienst stoppen und dann siehst du das bei den Docker Einstellungen irgendwo.

 

Die Container sind danach alle weg. Nicht erschrecken. Dann über Apps > Previous Apps einfach wieder installieren. Einstellungen und Daten bleiben erhalten.

 

Wie gehabt bei Bedarf Backup machen. Backup geht immer ;)

Link to comment
18 hours ago, mgutt said:

Musst du aber wenn du eine bessere Performance haben willst. Am besten Nextcloud stoppen. MariaDB stoppen. MariaDB ändern und starten. Nextcloud ändern und starten. Mach bei Bedarf nach dem Stop aller Container ein Backup vom appdata Ordner, aber das sollte fehlerfrei gehen.

Offenbar reicht die bisherige Einstellung aus. Also Appdata auf Cache only und bei den Docker-Settings und bei dem NC Container den Pfad ändern. Hab meine externen User gefragt: um Welten besser. Der Kalender braucht nun nicht mehr 10-12 Sekunden um zu reagieren.

18 hours ago, mgutt said:

Docker Dienst stoppen und dann siehst du das bei den Docker Einstellungen irgendwo.

 

Die Container sind danach alle weg. Nicht erschrecken. Dann über Apps > Previous Apps einfach wieder installieren. Einstellungen und Daten bleiben erhalten.

 

Wie gehabt bei Bedarf Backup machen. Backup geht immer ;)

Backup mach ich immer, so ne SSD kann ja auch mal sterben.

Link to comment
36 minutes ago, Knutowskie said:

Offenbar reicht die bisherige Einstellung aus.

Natürlich ist es besser geworden, aber es besteht eben noch mehr Potential. Die Datenbank ist nicht so anfällig wie Nextcloud selbst, weil sie viel im RAM auslagert, aber bei Datenbank-Aktualisierungen läuft es irgendwann auf die Platte und dann hat man wieder die Bremse durch den Pfad. Ich kann dich natürlich nicht zwingen zu optimieren ;)

Link to comment
Just now, Anym001 said:

Macht es Sinn diesen im appdata Folder zu ergänzen? /mnt/cache/appdata/docker/

 

Ob nun appdata oder system ist vom Prinzip egal. Beide wirst du dann ja auch auf "prefer" oder "only" gestellt haben. Rein thematisch wäre system richtig, weil Unraid da ja auch das docker.img und die VMdisks liegen hat, also die "Betriebssysteme".

  • Thanks 1
Link to comment
  • 3 years later...

Das ist ein älterer Thread aber passt gerade zu meinem Problem und ich will mich mal absichern, da ich Unraid 7 Beta 2 nutze. Hatte damals, 2021 mit Unraid zum Testen begonnen und es dann irgendwann sein lassen. Finde die Entwicklungen super und Unraid 7 überzeugt mich sehr, vor allem auf der Ugreen NASync DXP4800 Plus. Das UGOS ist einfach noch nicht ausgereift und hat zu viele Bugs. Unraid darauf ist ein Traum, bis auf den Nextcloud Container, der bei mir eine CPU Auslastung von über 70% ausgelöst hat. 

 

Da sich in Unraid 7 einiges getan hat, bin ich mir eben nicht sicher, ob die genannten Punkte hier auf zutreffend sind.

 

Ich habe Nextcloud von linuxserver installiert und habe eine Maria DB als Docker bereitgestellt. Dann eben Nextcloud eingerichtet. Ich habe folgende Docker Config in Unraid:

image.png.8a502a7d79d0d04eb0599d20cd2bcbea.png

 

Und die CPU geht mir wie gesagt ziemlich an die Decke. Was aber interessant ist: Jetzt, nachdem ich Appdata Backup eingerichtet habe und die Container einmal gestoppt habe, ist (vermutlich jetzt noch) alles ok. Die CPU ist ziemlich entspannt:

 

image.thumb.png.614ebad697fba38413bbaaa584d3863f.png

 

Ich könnte mir vorstellen, dass ich evtl. ein Problem bei meinem Datenpfad habe, denn ich habe diesen Primär auf Cache gelegt. Dieser wird dann aber aufs Array verschoben. Es kann sein, sobald dieser Vorgang gelaufen ist, dass eben das genannte Problem zum Tragen kommt.

 

Kann das sein? 

 

Ich wollte jetzt ungern alle obigen Schritte durchführen, falls das unter Unraid 7 vielleicht gar nicht von Nöten ist.

 

Vielen Dank euch :) 

 

Edit:

 

Ach ja, vielleicht noch eine Info bzgl. der Docker Config vorab. Diese Thematik scheint sich nicht in Unraid 7 verändert zu haben:

image.png.a6434e6b9c17703d6888345eb91cdcf9.png

 

Könnte also doch Sinn machen, die Pfade direkt auf Cache zu legen.

 

Was ich jedoch nicht ganz verstanden habe ist, wie ich die Daten dann doch auf dem Array ablegen kann, denn ich will mir ja die SSD nicht mit Daten "voll müllen". Die will ich auf dem Array haben. 

 

Edit 2:

 

Wenn man sich die Ordner innerhalb von /usr/ anschaut:

image.thumb.png.8b6746b97826474bb024e9717a09cfa3.png

Dann stelle ich fest, dass appdata auf dem Cache liegt.

 

In der Doku zu Unraid 7 (https://unraid.net/blog/unraid-7-beta-2) wird auch beschrieben, dass die Docker Folder automatisch im appdata des Caches angelegt werden, insofern es einen Cache Pool gibt. Das ist bei mir zutreffend.

 

Es könnte sein, dass mein Problem nur temporär war. Ich bekomme das System gerade nicht ausgelastet. Was ich gestern getan hatte war, dass ich in Nextcloud paar Daten hochgeladen habe. Zusätzlich habe ich noch Paperless und habe den Consume Folder in Nextcloud per SMB eingebunden. Somit ist es mir jetzt möglich, Dokumente in diesen Ordner zu verschieben oder kopieren und diese werden in Paperless automatisch hochgeladen. Dabei ist es dann passiert, dass irgendwann während den Tests meine CPU auf über 70 % lief. 

 

Im obigen Screenshot sieht man übrigens auch meine Config für Data, welche eben primär auf Cache läuft aber die Daten werden dann aufs Array verschoben. Dort habe ich meine Nextcloud Daten. 

 

Ich beobachte das Thema mal und teste weiter. Falls jemand ähnliches auf Unraid 7 testet und Tipps hat, gerne her damit :) Danke euch! 

 

Edit 3:

Sorry aber mir schießen gerade viele Dinge durch den Kopf, da ich gestern Abend / Nacht einiges getestet habe. Ich habe an den Power Settings herumgeschraubt und habe per Tips and Tweaks die CPU so eingestellt, dass Nachts ab 23 Uhr die CPU auf Power Saving gehen soll. Das könnte rein zeitlich auch passen, dass das System dann einfach dadurch nicht mehr genug Dampf hat. 

Edited by Amiandi
Link to comment
4 hours ago, Amiandi said:

Ich wollte jetzt ungern alle obigen Schritte durchführen, falls das unter Unraid 7 vielleicht gar nicht von Nöten ist.

 

so ganz verstanden habe ich jetzt nicht was "obige Schritte" sein sollen ...

 

du meinst sicherlich entweder oder

 

1/ Daten auf HDD anstelle SSD/nvme oder primär cache < array oder ...

2/ FUSE overhead bei Nutzung von /mnt/user anstelle /mnt/cache

 

zu 1/ das liegt an Dir ob die Daten auf dem cache (only) oder im Array liegen sollen, dazu mal einlesen was du willst usw ... und entsprechend einrichten

 

zu 2/ das ist schon länger anders zu lösen, man kann entweder "old school" /mnt/cache direkt verweisen, oder exclusive Shares nutzen (umgehen von FUSE), auch dazu, einlesen und entsprechend einrichten ...

 

weder noch löst jedoch 70 % CPU Last aus, wenn dann wird da gerade was gemacht oder es läuft etwas initial oder ...

 

https://docs.unraid.net/

 

wenn du was anderes meinst, korrigier mich

Link to comment
52 minutes ago, alturismo said:

so ganz verstanden habe ich jetzt nicht was "obige Schritte" sein sollen ...

 

du meinst sicherlich entweder oder

 

1/ Daten auf HDD anstelle SSD/nvme oder primär cache < array oder ...

2/ FUSE overhead bei Nutzung von /mnt/user anstelle /mnt/cache

 

zu 1/ das liegt an Dir ob die Daten auf dem cache (only) oder im Array liegen sollen, dazu mal einlesen was du willst usw ... und entsprechend einrichten

 

zu 2/ das ist schon länger anders zu lösen, man kann entweder "old school" /mnt/cache direkt verweisen, oder exclusive Shares nutzen (umgehen von FUSE), auch dazu, einlesen und entsprechend einrichten ...

 

weder noch löst jedoch 70 % CPU Last aus, wenn dann wird da gerade was gemacht oder es läuft etwas initial oder ...

 

https://docs.unraid.net/

 

wenn du was anderes meinst, korrigier mich

Ich weiß nicht genau, was da lief und was passiert war. Die CPU lief bestimmt 8h auf über 70% und in htop konnte ich sehen, dass es was mit dem Dateisystem war, was mich zu diesem Thread führte.

 

Vermutlich können wir das mit einer simplen Frage abkürzen. Muss man in Unraid 7 irgendwas Spezielles beachten bei Docker Containern? Grundsätzlich läuft appdata auf dem Cache und für mich liest sich das alles, wie wenn das so eigentlich schon flutschen müsste. 

@mgutt hat ja damals mehrfach von Optimierungsmöglichkeiten gesprochen und ich wollte lediglich wissen, ob das für Unraid 7 ebenfalls zutreffend ist, da es da in Sachen Docker einige Änderungen gegeben hat. 

 

Danke!

Link to comment
1 hour ago, Amiandi said:

Muss man in Unraid 7 irgendwas Spezielles beachten bei Docker Containern?

weder mit 7 noch früher ... Unraid ist der Docker Host und Docker == Docker

 

also meinst du das Thema cache und FUSE, das wurde bereits vor längerem updated für Leute wo Fuse etwas Ressourcen gefressen hat, lies dich ein zu exclusive Shares oder nutze für die entsprechenden Shares

 

primary cache

secondary none

 

aber bitte erst wenn alle vorhandenen Daten auch bereit snur auf dem cache liegen ... ich verweise nochmals auf die docs, da steht auch alles drin ;)

 

Fußball jetzt hier ;)

Link to comment
On 7/14/2024 at 9:01 PM, alturismo said:

weder mit 7 noch früher ... Unraid ist der Docker Host und Docker == Docker

 

also meinst du das Thema cache und FUSE, das wurde bereits vor längerem updated für Leute wo Fuse etwas Ressourcen gefressen hat, lies dich ein zu exclusive Shares oder nutze für die entsprechenden Shares

 

primary cache

secondary none

 

aber bitte erst wenn alle vorhandenen Daten auch bereit snur auf dem cache liegen ... ich verweise nochmals auf die docs, da steht auch alles drin ;)

 

Fußball jetzt hier ;)

Ich habe es jetzt so gelöst, nachdem ohnehin appdata bei mir voll auf der Cache lagen, dass ich die Pfade entsprechend für die Docker Settings und die Container angepasst habe. Habe mir das Thema FUSE nochmal von ChatGPT erklären lassen und habe dann verstanden was der Hintergrund ist und wie es funktioniert. Es ist für mich nachvollziehbar, dass es mit FUSE zu Performance Problemen kommen kann. Ob das mein Thema war, weiß ich nicht. Bislang rennt das System "normal", ohne irgendwelche Peaks. Von dem her, beobachte ich das jetzt erstmal und falls wieder was sein sollte, werde ich mir das nochmal genau anschauen und analysieren.

 

Danke!

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...