Nextcloud 23 die Performance eine Katastrophe!

@mueller
Hast du mal die MariaDB neu gestartet? Gibt es dort irgendwelche AuffĂ€lligkeiten? Vielleicht kennt jemand Analysetools fĂŒr MariaDB, um ineffektive Datenstrukturen zu erkennen.

Ich könnte mir vorstellen, dass die Nextcloud z. B. aufgrund eines Konfigurationsfehlers Tausende oder Millionen von EintrÀge unnötig in der Datenbank speichert. Kennt vielleicht jemand einen Befehl, wo man die MariaDB nach EintrÀgen sortiert nach Menge ausgeben kann? Das könnte vielleicht interessant sein.

Ja, Mariadb neugestartet usw

Ich habe mittlerweile festgestellt, dass in der Datenbank die Benutzer gedoppelt eingetragen sind. Einmal erscheinen sie verschlĂŒsselt mit einem langen Hashcode und dann noch im Klartext. Also gehe ich davon aus das die Datenbank das problem ist. Nur wie bekomme ich die wieder sauber?
Beispiel:
drwxr-xr-x 3 apache apache 27 17. Okt 2019 F9E17592-C4EE-403B-AF00-0CE33E4F9435

drwxr-xr-x 7 apache apache 118 20. Jul 2021 mueller

Hat jemand eine Idee?

du erwÀhnst die datenbank, zeigst aber ein dir listing des data verzeichniss.

user verzeichnisse mit einer UUID werden z.b. erstellt wenn man LDAP als authentifizierungsbackend verwendet.

Die tabelle oc_mounts sollte hier helfen können.

Generell wĂŒrde ich dir raten beim debuggen von performance problemen nicht zu vermuten sondern feste daten zu benutzen. Also z.b. mal den aufruf zu profilen (xdebug mit valgrind ist da recht praktisch auf der php seite, das slowquerylog von mysql fĂŒr die datenbank seite) und darauf basierend schlĂŒsse zu ziehen.

1 Like

@mueller
Ich bin auch kein Datenbankexperte. Aber eine Datenbank ist nicht das, was du darstellt. Du zeigst irgendwelche Verzeichnisse. Du kannst erst mal das lesen, um zu verstehen, was eine MariaDB-Datenbank ungefĂ€hr ist. Und dann können wir zurĂŒck zu der Frage kommen, warum sie so viel Speicher braucht. DafĂŒr musst du Lösungen finden, wie du an mehr Details der Datenbank kommst.

1 Like

Also, definitiv ist das nicht die Datenbank
 aber so stellt sich das im Dateiverzeichnis dar. ZunĂ€chst mein User-Verzeichnis in “Klartext” und dasselbe in einem Hashcode
 Ich werde wohl neu installieren


Deine Datenbank braucht 12,9 GB RAM (erster Eintrag top). Da kann doch irgendwas nicht in Ordnung sein. Daher könntest du versuchen dich in Richtung MariaDB weiterzubilden. Du kannst natĂŒrlich auch den Windows-Weg gehen: plattmachen, neu installieren und nichts lernen.

Das sag ich doch die Datenbank ist durch irgendetwas beschÀdigt oder arbeitet nicht richtig


Ok. Dann beschĂ€ftige dich einfach mit dem Dump (Backup) von Datenbanken, lösch die Datenbank und fĂŒhre ein Restore durch. Es kann aber sein, dass selbst der Dump dann fehlerhaft ist. Das wĂ€re schlecht. Es gibt auch Befehle zur Neustrukturierung von Datenbanken, Ermittlung der grĂ¶ĂŸten Strukuren usw. Leider kenne ich mich damit wenig aus. Ich mĂŒsste mich damit auch erst beschĂ€ftigen. Aber ich denke es gibt genug Anleitungen im Internet zur Optimierung von MariaDB. Vielleicht mĂŒllt dir auch irgendwas die Datenbank voll wie z. B. Nextcloud-AktivitĂ€ten usw.

Habe ich bereits gemacht. Einen Dump erstellt. Auf einem anderen Server importiert. Das gleiche Problem. Die Performance ist einfach unterirdisch und auch hier frisst die Datenbank zu viel Speicher


Hast du mal versucht die Datenbank nach EintrÀge zu sortieren. Ich habe z. B. das gefunden. Die wirkliche Ursache ist wahrscheinlich eher ein Fehler in deiner Nextcloud als in der Datenbank.

Im Moment lasse ich einen check und ein optimize laufen.
Ich schaue mir den Link an. Vielen Dank

note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_attachments
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_classifiers
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_coll_addresses
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_mailboxes
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_message_tags
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_messages
note : Table does not support optimize, doing recreate + analyze instead
status : OK
nextcloud.oc_mail_provisionings
note : Table does not support optimize, doing recreate + analyze instead

Die Datenbak benutzt 7,2 GB RAM und dass ist genau so wie sie konfiguriert wurde. Die Config die er gepostet hat hat z.b. 6000MB buffer pool . Und dass ist ja auch nicht schlecht, da ansonsten jeder Datenbank aufruf zu einer Leseoperation auf der Festplatte fĂŒhrt.

Und da der Server 128GB ram hat kann man der Datenbank ohne probleme ein paar GB davon abgeben.

Neben meinen bereits erwÀhnten vorschlÀgen (z.b. slowquerylog ) hÀtte ich noch eine frage.

Wird der Systemcron oder der webcron verwendet?

1 Like

Der Systemcron lÀuft. Alle 5 Minuten.
Bezuglich des buffer pool gibt es ja wiedersprĂŒchliche Aussagen.
Einige behaupten sogar, dass wenn er zu hoch ist, das dass eher verlangsam?
In der slowquerylog finde ich keine Hinweise auf irgendwelche Fehler, Ausschnitt:

Time: 220324 7:32:04

User@Host: nextclouduser[nextclouduser] @ localhost

Thread_id: 50548 Schema: nextcloud QC_hit: No

Query_time: 1.222585 Lock_time: 0.000088 Rows_sent: 1546 Rows_examined: 459360

Rows_affected: 0 Bytes_sent: 323183

Full_scan: Yes Full_join: No Tmp_table: No Tmp_table_on_disk: No

Filesort: No Filesort_on_disk: No Merge_passes: 0 Priority_queue: No

SET timestamp=1648103524;
SELECT id, subject, message_id, in_reply_to, references, thread_root_id FROM oc_mail_messages WHERE (mailbox_id IN (SELECT id FROM oc_mail_mailboxes WHERE account_id = 45)) AND (message_id IS NOT NULL);

@mueller
Meine Empfehlung ist:

Datenbank und Fileordner sichern.
Alles Plattmachen (inklusive Betriebssystem) und neu installieren.
Ich gehe davon aus dass es nicht allzuviele User gibt und sie noch dazu in einem
privaten Umfelt sind. Damit denke ich dass dieses Vorgehen möglich ist, wenn deine User bittest alles zu sichern und neu hochzuladen.
Nicht vergessen allen sagen dass sie Calendar, Kontakte, Passwords. Phonetrack etc. selbststĂ€ndig sicher mĂŒssem.

Wenn das aufgesetzt ist und wieder wie gewĂŒnscht funktioniert kannst du dich an die Analyse machen was bei der alten nicht funktioniert hat.
Du kannst nicht sagen wie lange es dauert bis ein Debugging funktioniert und damit finde ich es besser ein funktionierendes System zu haben mit dem zufrieden bist und ohne Druck zu lernen was beim Alten schief gegangen ist.

Naja. Wenn man die Datenbank nicht wiederherstellt, dann gehen alle Shares verloren. Ich denke das will keiner der Anwender. Wenn die Datenbank jedoch wieder hergestellt wird, dann brauchen die Anwender aber auch nicht Kalender, Kontakte usw. sichern.

Lese Backup und Restore.

Aber vielleicht hast du ja ein Testsystem. Vielleicht kannst du da mal alles draufpacken und dann nach Teilkomponenten analysieren.

1 Like

Leider wahr.
Aus eigener Erfahrung kann ich sagen wenn man als Anwender 30 Sekunden wartet dann ist es besser wenn es neu gemacht wird und man dann zwar etwas Arbeit hat aber es geht. Das Frustationslevel steigt bei jedem neuem Warten. Den Zustand gibt es jetzt schon ĂŒber eine Woche und da nicht absehbar ist wie lange das noch dauert denke ich es ist besser ein neues System aufzusetzten und eventuell das Alte zum Debuggen und eventuell als Altsystem noch zu haben.
beide System gleichzeitig laufen zu haben wÀre das Optimum.

Sehe ich genauso.

Um sicher Shares zu behalten, kann man die App ShareRenamer verwenden. Bei Neuinstallation kann man die alten Namen wiederverwenden. Wobei man sich dann natĂŒrlich auf die Weiterentwicklung bzw. Support der App in neueren Releases verlassen muss.

FĂŒr Einzeldateien kann man sich noch die App Sharing Path anschauen.

Hat aber alles mit der Fragestellung nicht mehr viel zu tun.

Wenn Ihr die App Deck im Einsatz habt deaktiviert sie. Das bringt merkliche Entlastung. Das hat mir jetzt erst mal geholfen. Ich habe es am verhalten von redis entdeckt. redis wurde mit solchen Meldungen ĂŒberschwemmt:
1650606179.371726 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1209”
1650606179.371802 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1209”
1650606179.371899 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1210”
1650606179.371976 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1210”
1650606179.372074 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1211”
1650606179.372150 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1211”
1650606179.372247 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1211”
1650606179.372323 [0 unix:/var/run/redis/redis.sock] “GET” “cbd68a0ce27f6b13a3577cae0f74fb11/deck-cardMapperfindBoardId:1211”
1650606179.372427 [0 unix:/var/run/redis/redis.sock] “GET”

1 Like

hi, my German is not fluent enough to reply in German but I understand you have issues with your performance since upgrading to 23 and that disabling deck helped. There might be other apps that affect your performance as well like circles. I recommend you if you still have load issues to disable that one and see if it helps, and if it doesn’t, disable your other apps one by one to check if any affects performance drastically.

2 Likes

2 posts were split to a new topic: Performance problems with dashboard