[Performance] Keine Änderung, trotz perfomanterem Unterbau

Hi!

ich habe meine NC 16.0.2 in einer Hyper-V-VM in Ubuntu 19.04 auf Windows Server 2017 liegen. Das Ganze hängt an einer 100 MBit/s DSL-Leitung. Die Installation & alle bereitgestellten Daten liegen auf SSDs. Ans Netzwerk geht es mit Gigabit-LAN.
Alle Tuning-Geschichten für NC habe ich bereits in die Installation einfließen lassen.

Vormals hatte ich nur 2 vCPU und knapp 4 GB Speicher für diese VM zu verteilen, weil der Hostrechner nur 4 i5 CPU cores und 8 GB RAM hatte. Die Performance von NC war immer etwas zäh. Es dauert Sekunden bis - wenn überhaupt - die Kontakte oder E-Mails aufgerufen werden - egal von wo, ob vom Handy oder anderen, externen Rechnern oder mit welchem Browser. Meistens brauchte es zwei, drei Anläufe bis ich die Daten vorgelegt bekomme.

Nun hat sich das Hostsystem geändert: i7 (8 core), 64 GB RAM, neueste EVO-SSDs.
Ich habe nun 4 vCPU, 16 GB RAM der VM zugewiesen, aber von einer Performanceverbesserung keine Spur.
Das reine Windows und die Anwendungen darauf zeigen chon eine eklatante Performancesteigerung, die aber leider nicht in der NC ankommt.

Was kann ich machen, dass diese hardwaremäßige Aufrüstung sich auch in der NC widerspiegelt?

Beste Grüße
DD

Bis Nextcloud 14 gab es in der Dokumentation noch den folgenden Absatz zum Thema “Server Tuning”, der meines Erachtens aber immer noch Bestand hat:

https://docs.nextcloud.com/server/14/admin_manual/configuration_server/server_tuning.html

Hallo j-ed,

genau das meinte ich mit “Alle Tuning-Geschichten für NC habe ich bereits in die Installation einfließen lassen.” :slight_smile:
Das habe ich natürlich alles sofort gemacht und zu 99% umgesetzt. Allerdings auch schon bei der vorherigen Hardware.

Noch andere, weiterführende Tipps?

  • Ist die träge Reaktion nur zu spüren, wenn Du Nextcloud verwendest, oder auch wenn Du eine andere Webseite auf Deinem Server öffnest?
  • Tritt dass Problem auch bei der Verwendung anderer Nextclouds Apps auf oder nur bei der Contacts und Mail App?
  • Laufen die Datenbank (MySQL/MariaDB/PostgreSQL) und der Redis-Server in der gleichen VM?
  • Tritt das Problem primär beim Erstzugriff auf oder immer?
  • Gibt es einen gefühlten Unterschied beim Zugriff aus dem LAN und dem Zugriff über das Internet?
  • Testest Du den Zugriff mit kabelgebundenen oder drahtlos angebundenen Geräten?

Um andere Einflüsse auszuschließen würde ich im ersten Schritt einen direkten Zugriff mittels eines über ein LAN-Kabel angebundenen PC testen.

Hallo j-ed,

vielen Dank für Deine Mühe und die richtige Fragestellung.

Die träge Reaktion beobachte ich browserunabhängig, egal ob ich von einem kabelgebundenen oder drahtlosen Gerät darauf zugreife und unabhängig davon, ob ich von einem anderen Rechner oder direkt auf dem Server NC aufrufe, egal ob lokal im Netzwerk oder über das Internet von außen, kabelgebunden oder lose.

Alles Komponenten laufen in der gleichen Ubuntu-VM (NC, apache2, mySQL und Redis).

Das Problem tritt reproduzierbar auf. Die Übersicht nach dem Login geht noch recht fix, beim Klick auf “E-Mail”, “Kalender” oder “Kontakte” braucht es meist ein Mehrfachklick oder wiederholende Klicks, um etwas zu sehen. Das Verhalten habe ich schon seit 15.0.1 beobachten können. Wie gesagt: Browserunabhängig und mit Löschen des Cache.

Ist die App einmal geladen, dann kann man sich ganz gut darin bewegen ohne weitere Verzögerungen.

Gibt es ein Monitoring für die NC, welches ich zuschalten kann?

Ok, dies erschwert die Sache. Du kannst einmal das Debug-Logging für Nextcloud aktivieren und schauen, ob dort Meldungen gezeigt werden. Parallel dazu würde ich dann die Systemmeldungen in der messages-Datei bzw. der Apache2-Logdatei im Auge behalten.

Nextcloud macht regen Gebrauch vom Datei-Locking, wogegen Redis das richtige Mittel ist. Darüber hinaus werden intensive Datenbankabfragen getätigt, was bei den genannten Apps eventuell eher in Betracht kommt.
Die Mail-App würde ich erst einmal aus der Betrachtung nehmen wollen, da dort noch zusätzlich der E-Mail-Server abgerufen wird. Ich selbst kann diese bei mir auch nicht performant nutzen, da es wohl mit dem von mir verwendeten IMAP-Server Inkompatibilitäten gibt. Die Kalender- und Kontakte-Apps laufen dagegen für mich performant.

Nextcloud ist zwar keine Rakete, aber bei den Voraussetzungen müssten ihr eigentlich Flügel wachsen. Und wenn NC ansonsten grundsätzlich ohne Fehlermeldungen läuft, suchst du nach meiner Einschätzung an der falschen Stelle.
Sinnvoller erscheint mir da die Suche bei den Einstellungen zur Hyper-V-VM und dabei insbesondere bei der Netzwerkkarte.
Es ist auffällig dass die Datenbankabfrage (Kalender, Kontakte…) lange dauert während ggf. gecashte Dinge wie das Vorlegen der Anmeldemaske schnell gehen.

Ich habe eben einfach mal “Hyper-VM langsam” gegoogelt und hatte spontan viele Hinweise

Hallo zusammen,

also, Redis habe ich eingerichtet und konfiguriert. Auch ein Tuning des Apache2 habe ich schon in Betracht gezogen. Hat aber nichts Nennenswertes gebracht. Ich dachte an einen Wechsel auf Nginx, aber das ist mir zuviel Aufwand.

Die Netzwerkkarte auf dem Hyper-V ist ja für die VM Standard, ebenso der vDefault-Switch, den man dort einrichten kann. Die Netzwerkkarten zeigen auch durchaus gute Durchsatzwerte (1 GB/s) und es sind keine Bandbreitenregelung auf der Netzwerkkarte oder dem Switch eingestellt.
Diese Einstellungen habe ich mir aber auch von unserem Hyper-V-Cluster bzw. den Servern in der Firma abgeguckt, die tadellose Performancewerte zeigen.

Wie optimiere ich die Datenbank?
Diese Big_Init-Geschichten vom vorm letzten Update NC 16 auf habe ich schon so umgesetzt.

Okay, alle Einstellungen in der Datei my.cnf unter /etc/mysql/ habe ich auch schon gemacht.
Ebenso alle drei Verbesserungen, die mir der mysqltuner.pl vorgeschlagen hat.

Aber das alles bringt jedoch keinerlei nennenswerten Verbesserungen.