Nextcloud teilweise sehr langsamer Seitenaufbau

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
Guten Morgen zusammen,
momentan ärgere ich mich mit dem Aufbau der Nextcloud Seiten herum.
Ich habe eine Synology DS218+ und 10GB RAM,
aber die Seiten bauen sich teilweise extrem langsam auf.

Hat jemand auch dieses Problem,
und gibt es eine Lösung ?

danke


# Apache 2.4
# Php 7.3
# MariaDB10
# Nextcloud hub 20.0.1
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
Guten Morgen Andy+

Alle Überprüfungen bestanden.
Ein grüner Punkt wie es sich gehört
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Wie sind Deine Defaulteinstellungen in der Webstation? Ich meine damit php, Apache usw.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
Hmmm, gute Frage ..... ich habe da einiges abgeändert. Hast du evt. die wichtigsten Einstellungen, die ich kontrollieren sollte ?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Bei mir sieht das so aus:

1604929192549.png

1604929232693.png


was nun aber nichts heissen muss. Den open_basedir habe ich immer geleert, zumindest in früheren ownCloud-Versionen hat das gestört.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
Ist bei mir identisch
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Ich habe Apache 2.2, allerdings wegen anderer Belange. Aber einfach mal durchtesten, manchmal gibt es Aha-Geschichten.
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
255
Punkte für Reaktionen
80
Punkte
28
Hat jemand auch dieses Problem,
und gibt es eine Lösung ?
Ich habe mich auch lange mit dem Problem rumgeärgert und bei meiner Optimierung an die folgende Anleitung von Boerny's Blog angelehnt.
MariaDB auf Synology DiskStation beschleunigen

Der Eintrag "innodb_additional_mem_pool_size" sollte allerdings nicht mehr verwendet werden, da es damit ab MariaDB 10.2 Probleme gibt.

Für meine DS716+II und DS920+ habe ich somit die optimalen Einstellungen in der my.cnf Datei gefunden und damit rennt meine Nextcloud im Galopp.

Die Datei liegt bei mir in diesem Ordner:
/usr/syno/etc/packages/MariaDB10/my.cnf

[client]
port=3307
socket = /run/mysqld/mysqld10.sock

[mysqld]
port=3307
socket = /run/mysqld/mysqld10.sock

# InnoDB
innodb_buffer_pool_size = 2G
innodb_io_capacity=4000

# Basics
key_buffer_size = 512M
max_allowed_packet = 128M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 128M
# Versuchen Sie die Anzahl der CPU's*2 für thread_concurrency
# DS920+ Intel(R) Celeron(R) J4125 CPU @ 2.00GHz (4 cores)
thread_concurrency = 8
thread_cache_size = 8

# folgende beiden Werte sollten immer identisch sein
tmp_table_size = 512M
max_heap_table_size = 512M

# Query Cache
query_cache_type = 1
query_cache_limit = 256K
query_cache_min_res_unit = 2k
query_cache_size = 100M

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.103
Punkte
248
"memcached" und "redis" wären da vlltnoch passende Stichworte :)
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.021
Punkte für Reaktionen
320
Punkte
189
Das steht bei mir so in der config, habe ich in owncloud und nextcloud so, was m.E. kein Unterschied sein sollte

'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
),
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
memcached" und "redis" habe ich bereits aktiviert
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
@Crashandy
Danke für die Bereitstellung deiner config ;-)

Für wieviel cpu`s ist sie ausgelegt ?
Mein System hat ja leider nur 2
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
255
Punkte für Reaktionen
80
Punkte
28
Hallo @Tuxnet,

# Versuchen Sie die Anzahl der CPU's*2 für thread_concurrency
# DS920+ Intel(R) Celeron(R) J4125 CPU @ 2.00GHz (4 cores)
thread_concurrency = 8
thread_cache_size = 8

Demnach müsstest Du bei Deiner DS jeweils 4 eintragen.
thread_concurrency = 4
thread_cache_size = 4

Vorausgesetzt Du verwendest PHP 7.4, dann solltes Du noch eine benutzerdefinierte Datei "user_settings.ini" in dem folgenden Ordner anlegen.
/usr/local/etc/php74/cli/conf.d/user_settings.ini
Dort dann noch diesen Inhalt einfügen, damit APC auch wirklich funktioniert:

extension = apcu.so
extension = imagick.so
extension = redis.so

[core]
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Die wichtigen Änderungen, im eigens für die Nextcloud angelegten PHP-Profil, hast Du hoffentlich schon getätigt.

Gruß
Crashandy
 
Zuletzt bearbeitet:
  • Like
Reaktionen: luddi

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
@Crashandy

perfekt,....danke

Habe alles direkt umgesetzt.
Ja, das PHP Profil habe ich bereits geändert.



Ich werde berichten
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
@Crashandy

hat sich im laufe der Jahre etwas einer deiner conf geändert ?
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
255
Punkte für Reaktionen
80
Punkte
28
Hallo @Tuxnet,

eigentlich nicht viel, außer dass ich heute DSM 7.1 und PHP 8.0 verwende.
Meine "/usr/local/etc/php80/cli/conf.d/user_settings.ini" hat noch den nachfolgenden Inhalt:

extension = apcu.so
extension = redis.so

[core]
memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Das PHP Profil für Nextcloud 24 habe ich auf mehreren Synos wie nachfolgend eingestellt.

PHP-Cache aktivieren

Erweiterungen aktivieren:
bcmath, bz2, curl, exif, ftp, gd, gettext, gmp, iconv, imagick, intl, ldap, mysqli,
openssl, pdo_mysql, posix, soap, sockets, sodium, ssh2, zip, zlib

Erweiterte Einstellungen -> Kern
Name Wert (Original -> Änderung)
memory_limit 128M -> 4G
post_max_size 32M -> 8G
upload_max_filesize 32M -> 8G
upload_tmp_dir /var/services/tmp -> /volume1/Freigegebener Ordner/nextcloud/data/upload-tmp
apc.enable_cli 0 -> 1
apc.shm_size 32M -> 512M
apc.ttl 0 -> 7200
opcache.enable_cli 0 -> 1
opcache.file_cache "" -> /volume1/web/.opcache
opcache.interned_strings_buffer 8 -> 32
opcache.memory_consumption 128 -> 512
opcache.revalidate_freq 2 -> 60
output_buffering 4096 -> 0
max_execution_time 240 -> 3600
max_input_time 60 -> 3600

Erweiterte Einstellungen -> FPM
FPM-Modus: Dynamisch
Max. Prozesse: 120
Kindprozesse bei Start: 12
Mindestanzahl Prozesse: 6
Maximalanzahl Prozesse: 18

Das läuft bei mir auf DS1618+, DS1821+, DS215+, DS716+II, DS720+ und DS920+ schon relativ flott.

Weitere Optimierungen kann man noch mit mysqltuner erreichen, aber immer schön vorsichtig und vor jedem Schritt eine Sicherung machen.
Vorgegangen bin ich zuerst nach der Anleitung von Jan-Dirk,
https://addictedtocode.de/nas-und-co/mariadb10-auf-einem-synology-nas-optimieren/
... und habe anschließend nach der Anleitung von Carsten Rieger eine passenden Mischung für meine DS gefunden.
https://www.c-rieger.de/nextcloud-installationsanleitung-apache2-fast-track/

Gruß
Crashandy
 
  • Like
Reaktionen: Tuxnet

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
579
Punkte für Reaktionen
66
Punkte
48
@Crashandy

Das nenne ich mal eine aussagekräftige Antwort ;-)
Habe mal deine Werte übernommen, ca. 80% waren eh identisch.

Meinen .OPcache habe ich auf einen USB 3.0 Stick ausgelagert,

Das mit der MariasDB Optimierung bekomme ich nicht hin ( Brett vorm Kopf ).

Kannst du mal bitte deine mysqltuner.pl in den Anhang packen ?

Interessant wäre auch der Inhalt deiner my.cnf zu sehen
 
Zuletzt bearbeitet:

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
255
Punkte für Reaktionen
80
Punkte
28
Hallo @Tuxnet,

zunächst muss unbedingt das Paket "Perl" installiert sein, dann muss noch die entsprechende PATH-Variable hinzugefügt werden.
PATH=$PATH:/usr/local/mariadb10/bin
Damit sind die Voraussetzungen geschaffen.
Alles muss als root ausgeführt werden, dazu nun folgende zwei Befehle:
aktuelle mysqltuner.pl herunterladen: wget mysqltuner.pl
Skript ausführen: perl index.html
Nun bekommst Du ein paar Vorschläge, welche Du Stück für Stück abarbeiten könntest. Leider siehst Du ein korrektes Ergebnis immer erst nach einer längeren Nutzungsdauer (Stunden, Tage, Wochen?) und dem erneuten Aufruf des Skriptes.

Meine letzte Optimierung habe ich in der my.conf auf der DS1821+ mit 32 GB RAM durchgeführt.
Einige Werte müssen entsprechend Deiner CPU und dem verwendeten RAM angepasst werden.

Den Wert "default-time-zone = 'Europe/Berlin'" solltest Du auf jeden Fall erst einmal auskommentieren oder weglassen, wenn Du im MariaDB die Standard-Zeitzone am Laufen hast. Das siehst Du in phpMyAdmin mit dem Befehl "SELECT @@global.time_zone, @@session.time_zone" und dem Ergebnis "SYSTEM".
Bei mir steht dort z.B. "Europe/Berlin", da ich es für eine andere SQL-Anwendung dringend benötige.

Gruß
Crashandy
 

Anhänge

  • my.zip
    748 Bytes · Aufrufe: 8
Zuletzt bearbeitet:
  • Like
Reaktionen: Tuxnet


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat