Hohe CPU-Last am Server

Hallo zusammen,

ich habe eine VM die Nextcloud beheimatet und jetzt musste ich feststellen das diese VM hohe CPU last verursacht immer wenn ich mir im Webfrontend zb Bilder anzeigen lasse. Kann das mit dem Eintrag im Webfrontend “opcache.interned_strings_buffer” zusammen liegen? Ich konnte jetzt nicht finden wo genau dieses Einstellung eingestellt wird. Ich habe es schon mit occ probiert, aber der will das nicht.

GrĂŒĂŸe
Michael

Es kann schon sein, dass die Einstellung zu einer höheren CPU-Last fĂŒhrt. Aber es gibt auch andere Einstellungen, die du optimieren könntest. Bitte poste ein paar Informationen ĂŒber die tatsĂ€chliche CPU-Last. Auch poste Daten zu deinen PHP-Einstellungen wie z. B. /etc/php/8.x/fpm/php.ini oder /etc/php/8.x/apache2/php.ini. Auch wĂ€re deine Nextcloud-Konfiguration (config.php) interessant. Evtl. kannst du auch Funktionen wie Redis verwenden. Es gibt im Internet einige Anleitungen fĂŒr Nextcloud-Performance-Optimierungen. Vielleicht können die dir helfen.

Wie kann ich denn hier einen Anhang anhĂ€ngen dann könnte ich gerne die php.ini zeigen die unter “CLI” liegen da es nur “cli/ mods-available/ phpdbg/” gibt :wink:

Die Config.php ist

<?php
$CONFIG = array (
  'instanceid' => 'oce8ygchhza0',
  'passwordsalt' => 'xxxx',
  'secret' => 'xxxx',
  'trusted_domains' => 
  array (
    0 => 'nextcloud',
    1 => 'nextcloud.domain.com',
    2 => 'nextcloud.domain.de',
    3 => 'nextcloud.domain.de',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '29.0.4.1',
  'overwrite.cli.url' => 'https://nextcloud',
  'dbname' => 'nextcloud_db',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextclouduser',
  'dbpassword' => 'xxx',
  'installed' => true,
  'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
  'trusted_proxies' => 
  array (
    0 => '192.168.168.25',
    1 => '192.168.168.41',
    2 => '192.168.168.24',
  ),
  'maintenance' => false,
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'loglevel' => 2,
  'theme' => '',
  'memories.exiftool' => '/var/www/nextcloud/apps/memories/bin-ext/exiftool-amd64-glibc',
  'memories.vod.path' => '/var/www/nextcloud/apps/memories/bin-ext/go-vod-amd64',
  'memories.index.mode' => '2',
  'app_install_overwrite' => 
  array (
    0 => 'cfg_share_links',
  ),
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'maintenance_window_start' => 1,
);

Die “cli”-Werte helfen wenig, da deine Nextcloud im Betrieb diese nicht nutzt. Du musst doch einen Webserver wie Apache2 oder nginx verwenden der wiederum irgendwelche PHP-Einstellungen hat. Treten die CPU-Last-Probleme fĂŒr das Anzeigen von Bildern nur bei der App Memories oder auch bei Photos und Files auf?

  'memories.exiftool' => '/var/www/nextcloud/apps/memories/bin-ext/exiftool-amd64-glibc',
  'memories.vod.path' => '/var/www/nextcloud/apps/memories/bin-ext/go-vod-amd64',

Brauchst du das? Kann das zu Problemen fĂŒhren? Leider kenne ich mich damit gar nicht aus. Kannst du testweise mal die App Memories deinstallieren und auch diese Zeilen entfernen falls sie nicht automatisch gelöscht werden? Bestehen die CPU-Probleme dann weiterhin?

1 Like

ErgĂ€nzend zu dem, was @devnull gesagt hat, kann Transcoding in Memories zu einer sehr hohen CPU-Last fĂŒhren. Das ist nicht unbedingt ein Problem, solange du keine extreme “Slow-Downs” oder AbstĂŒrze von Diensten hast, wĂ€hrend die CPU-Last hoch ist.

Wenn es aber Probleme gibt, können folgende Dinge helfen:

  1. Transcoding abschalten, was natĂŒrlich dazu fĂŒhren kann, dass je nach Browser oder OS, das du zum Betrachten der Fotos und Videos verwendest, u.U. Live Photos und einige Videoformate nicht mehr abgespielt werden können.

  2. Hardwarebeschleunigung/GPU Offloading aktivieren. DafĂŒr brauchst du keine Monster GPU, eine im Prozessor integrierte GPU oder die kleinste Intel Arc Karte (A310) wirken bereits Wunder und reduzieren die CPU Last massiv.

  3. Eine stÀrkere CPU verwenden. :wink:

memories war mal ein test und ist auch laut nextcloud nicht mehr aktiv
2024-08-15_09h59_16

Der Fehler tritt auf wenn ich auf “Dateien” (also Files gehe) Fotos zeigt mir gerade keine Bilder an (vermutlich cached er da) und nutze ich nicht

also habe das memories jetzt mal rausgenommen aus der config. Danke fĂŒr den Hinweis anscheinend hat er das nicht rausgenommen bei der deinstallation

Muss ich da von Nextcloud seite was machen um die Hardwarebeschleunigung zu aktivieren? Es ist halt eine normale Hyper-V-VM und mein Server ist nur ein Dell T20 also kein monster.

Eine stÀrkere CPU geht nicht da es schon am maximum bei dem Dell ist ^^

da dazu @devnull meine php.ini sollte standard sein zumindest finde ich kein Backup-File was ich bei Ànderungen immer ablege ^^

Dann kann es an allen möglichen Dingen liegen, und wir brĂ€uchten viel mehr Infos zu deinem System um da allenfalls helfen zu können


  • Wie hast du Nextcloud installiert?

  • Welchen Webserver verwendest du, und welches Multi-Processing Module (MPM) fĂŒr PHP nutzt du? mpm_prefork oder mpm_event mit PHP-FPM/FastCGI

  • Nutzt SQlite oder eine “richtige” Datenbank wie MariaDB oder PostgreSQL?

  • Hast du einen PHP Memory Cache wie APCu als lokalen Memory Cache konfiguriert?

  • Hast du den PHP opcache gemĂ€ss Doku konfiguriert?

  • Hast du Redis als File Locking Cache installiert?

  • Hast du das High Perfomance Backend fĂŒr Files installiert?

All diese Dinge können helfen die die Performance zu verbessern und die CPU Last zu senken:

Siehe hier: https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html


und hier: https://github.com/nextcloud/notify_push

Die Hardwarebeschleunigung hilft nur bei der LivePhoto/Videotranskodierung in Memories. Wenn du Memories gar nicht nutzt, hilft dir die bei den momentanen Problemen nicht. Falls du es nutzen willst, findest du Infos dazu hier: Hardware Transcoding - Memories

Dass Memories seit 3 Monaten nicht aktualisiert wurde, bedeutet erst mal nichts. Es gibt die App bis Version Nextcloud 29. Mal abwarten ob es auch eine Version fĂŒr Nextcloud 30 geben wird.

1 Like

Memories wird aktiv entwickelt, und ich mache mir momentan gar keine Sorgen, dass es bald verschwindet. Der letzte Commit war vor 2 Tagen: GitHub - pulsejet/memories: Fast, modern and advanced photo management suite. Runs as a Nextcloud app.

Aber ja klar, grundsĂ€tzlich besteht diesbezĂŒglich natĂŒrlich immer ein gewisses Riskio bei 3rd Party Apps, aber auch bei “featured” Apps (die natĂŒrlich hĂ€ufig auch von der Community getragen werden) gab es das schon. :wink:

Manuell also habe eine vm mit debian installiert und dann manuell laut anleitung nextcloud reingehÀmmert

apache, php 8.3 das andere mpm und php-fpm weis ich nicht wo ich das nachschauen kann

MariaDB

habe da standard alles gelassen

ich denke das es doch in einer Anleitung steht

Ich denke nicht

Ich denke nicht

das bestreite ich ja nicht. Ich nutze es nur nicht da keiner meiner Nutzer es verwendet :smiley:

Diese Anleitung? Example installation on Ubuntu 22.04 LTS — Nextcloud latest Administration Manual latest documentation

Kann eigentlich nicht sein, denn um an PHP 8.3 unter Debian zu kommen, musst du externe PHP-Quellen hinzugefĂŒgt haben, was nicht in der oben verlinkten Anleitung beschrieben ist. :wink:

Bitte nicht falsch verstehen, das ist vollkommen ok. Aber ohne zu wissen wie du deine Nextcloud genau installiert hast, können wir nur allgemeine Tipps geben, wie sie eben im Server und Tuning Guide von Nextcloud stehen, den ich bereits verlinkt habe.

Standard ist da eigentlich gar nichts, entweder du hast es akrtiviert/konfiguriert oder halt eben nicht. :wink:

Auch da gibt es noch ein paar Dinge, die du konfigurieren kannst/solltest, wenn du es nicht bereits getan hast: Database configuration — Nextcloud latest Administration Manual latest documentation

Ja das steht in diversen Anleitungen, z.B. auch in der offiziellen hier: https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache Die Frage ist halt auch hier, ob du es gemacht hast oder nicht.

Redis wĂŒrde ich erst am Schluss anpacken, wenn du allenfalls PHP-FPM, und vorallem opcache und APCu konfiguriert hast, was schon mal viel bringen sollte.


und das High Perfomance Backend fĂŒr Files (notify_push) erst ganz am Schluss.